任何沒有名稱的數據行都會內嵌。 例如,未指定數據行別名的計算數據行或巢狀純量查詢會產生沒有任何名稱的數據行。 如果數據行的類型為 xml ,則會插入該數據類型實例的內容。 否則,數據行內容會插入為文字節點。
SELECT 2+2
FOR XML PATH
產生這個 XML。 根據預設,針對數據列集中的每個數據列, <row> 產生的 XML 會產生元素。 這與RAW模式相同。
<row>4</row>
下列查詢會傳回三欄數據列集。 沒有名稱的第三個數據行具有 XML 數據。 PATH 模式會插入 xml 類型的實例。
USE AdventureWorks2012;
GO
SELECT ProductModelID,
Name,
Instructions.query('declare namespace MI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
/MI:root/MI:Location
')
FROM Production.ProductModel
WHERE ProductModelID=7
FOR XML PATH ;
GO
以下是部份結果:
<row>
<ProductModelID>7</ProductModelID>
<Name>HL Touring Frame</Name>
<MI:Location ...LocationID="10" ...></MI:Location>
<MI:Location ...LocationID="20" ...></MI:Location>
...
</row>