次の方法で共有


例: ELEMENT ディレクティブの指定

これにより、従業員情報が取得され、次に示すように要素中心の XML が生成されます。

<Employee EmpID=...>  
  <Name>  
    <FName>...</FName>  
    <LName>...</LName>  
  </Name>  
</Employee>  

列名に ELEMENT ディレクティブを追加する以外は、クエリは変わりません。 したがって、属性の代わりに、 <FName> 要素と <LName> 要素の子が <Name> 要素に追加されます。 Employee!1!EmpID列には ELEMENT ディレクティブが指定されていないため、EmpIDは <Employee> 要素の属性として追加されます。

SELECT 1    as Tag,  
       NULL as Parent,  
       E.BusinessEntityID as [Employee!1!EmpID],  
       NULL       as [Name!2!FName!ELEMENT],  
       NULL       as [Name!2!LName!ELEMENT]  
FROM   HumanResources.Employee AS E  
INNER JOIN Person.Person AS P  
ON  E.BusinessEntityID = P.BusinessEntityID  
UNION ALL  
SELECT 2 as Tag,  
       1 as Parent,  
       E.BusinessEntityID,  
       FirstName,   
       LastName   
FROM   HumanResources.Employee AS E  
INNER JOIN Person.Person AS P  
ON  E.BusinessEntityID = P.BusinessEntityID  
ORDER BY [Employee!1!EmpID],[Name!2!FName!ELEMENT]  
FOR XML EXPLICIT;  

次に結果の一部を示します。

<Employee EmpID="1">

<Name>

<FName>Ken</FName>

<LName>S??nchez</LName>

</Name>

</Employee>

<Employee EmpID="2">

<Name>

<FName>Terri</FName>

<LName>Duffy</LName>

</Name>

</Employee>

...

こちらもご覧ください

FOR XML で EXPLICIT モードを使用する