共用方式為


設定路徑為 data() 的欄位名稱

如果指定為欄名稱的路徑是「data()」,則該值會被視為所生成 XML 中的原子值。 如果串行化中的下一個專案也是原子值,則會在 XML 中新增空格。 當您建立清單型別項目和屬性值時,這會很有用。 下列查詢會擷取該產品模型中的產品型號標識碼、名稱和清單。

USE AdventureWorks2012;  
GO  
SELECT ProductModelID       AS "@ProductModelID",  
       Name                 AS "@ProductModelName",  
      (SELECT ProductID AS "data()"  
       FROM   Production.Product  
       WHERE  Production.Product.ProductModelID =   
              Production.ProductModel.ProductModelID  
      FOR XML PATH (''))    AS "@ProductIDs"  
FROM  Production.ProductModel  
WHERE ProductModelID= 7   
FOR XML PATH('ProductModelData');  

巢狀 SELECT 會擷取產品標識碼的清單。 它會指定 「data()」 作為產品識別碼的數據行名稱。 由於PATH模式會指定資料列專案名稱的空字串,因此不會產生任何資料列元素。 相反地,值會以指派給父 SELECT 之數據列元素的 <ProductModelData> ProductIDs 屬性傳回。 以下是結果:

<ProductModelData ProductModelID="7"

ProductModelName="HL Touring Frame"

ProductIDs="885 887 888 889 890 891 892 893" />

另請參閱

使用 PATH 模式搭配 FOR XML