本系列完結篇,彙整核心語法對照表與專案導入檢核重點。
| 需求 | 關鍵字句 | 說明 |
|---|---|---|
| 回傳 xml 型別 | FOR XML AUTO, TYPE | 搭配 xml 變數接收 |
| 巢狀子查詢 | (SELECT ... FOR XML AUTO, TYPE) AS Alias | 子查詢必加 TYPE |
| 自訂元素/屬性名稱 | FOR XML RAW('ElementName') | RAW 模式配合別名 |
| 靈活 XPath 結構 | FOR XML PATH('') + 別名 'Path/@Attr' | 最彈性、可讀性佳 |
| 命名空間 | WITH XMLNAMESPACES (DEFAULT 'uri') | 或顯式前綴 'ns:elem' |
| 根元素 | ROOT('RootName') | 所有模式通用 |
text/ntext/image (不支援 FOR XML),需轉 varchar(max)/nvarchar(max)/varbinary(max)SqlCommand.ExecuteXmlReader() 直接串流處理TYPE → 產生逸出字元字串而非 XML 節點AUTO 與 PATH 導致命名空間衝突ROOT 產生多頂層元素,違反 XML 單一根節點規範掌握 FOR XML 進階功能,能讓資料庫層直接輸出業務就緒的 XML,大幅簡化中介層轉換邏輯。