Bagikan melalui


Contoh: Menentukan Direktif ELEMENTXSINIL

Saat Anda menentukan arahan ELEMENT untuk mengambil XML yang berpusat pada elemen, jika kolom memiliki nilai NULL, elemen yang sesuai tidak dihasilkan oleh mode EKSPLISIT. Anda dapat menentukan arahan ELEMENTXSINIL secara opsional untuk meminta elemen yang dihasilkan untuk nilai NULL ketika atribut xsi:nil diatur dengan nilai TRUE.

Kueri berikut membuat XML yang menyertakan alamat karyawan. Untuk kolom AddressLine2 dan City, nama kolom tersebut menentukan direktif ELEMENTXSINIL. Ini menghasilkan elemen untuk kolom AddressLine2 dan City yang memiliki nilai NULL dalam set baris.

USE AdventureWorks2012;  
GO  
SELECT 1    as Tag,  
       NULL as Parent,  
       E.BusinessEntityID  as [Employee!1!EmpID],  
       BEA.AddressID as [Employee!1!AddressID],  
       NULL        as [Address!2!AddressID],  
       NULL        as [Address!2!AddressLine1!ELEMENT],  
       NULL        as [Address!2!AddressLine2!ELEMENTXSINIL],  
       NULL        as [Address!2!City!ELEMENTXSINIL]  
FROM   HumanResources.Employee AS E  
INNER JOIN Person.BusinessEntityAddress AS BEA  
    ON E.BusinessEntityID = BEA.BusinessEntityID  
  
UNION ALL  
SELECT 2 as Tag,  
       1 as Parent,  
       E.BusinessEntityID,  
       BEA.AddressID,  
       A.AddressID,  
       AddressLine1,   
       AddressLine2,  
       City   
FROM   HumanResources.Employee AS E  
INNER JOIN Person.BusinessEntityAddress AS BEA  
    ON E.BusinessEntityID = BEA.BusinessEntityID  
INNER JOIN Person.Address AS A  
    ON BEA.AddressID = A.AddressID  
ORDER BY [Employee!1!EmpID],[Address!2!AddressID]  
FOR XML EXPLICIT;  

Ini adalah hasil parsial:

<Employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

EmpID="1" AddressID="249">

<Address AddressID="249">

<AddressLine1>4350 Minute Dr.</AddressLine1>

<AddressLine2 xsi:nil="true" />

<City>Minneapolis</City>

</Address>

</Employee>

...

Lihat Juga

Gunakan Mode EKSPLISIT dengan FOR XML