Aracılığıyla paylaş


Örnek: ELEMENTXSINIL yönerge belirtme

Öğe merkezli bir xml sütun null değeri varsa almak için öğe yönergesi belirttiğinizde, karşılık gelen öğe Açık modu tarafından oluşturulmaz. ELEMENTXSINIL yönergesi üreten öğe için null değerleri nerede istek isteğe bağlı olarak belirtebileceğiniz xsi:nilözniteliği true değeri ayarlanır.

Aşağıdaki sorgu, bir çalışanın adresini içeren bir xml yapıları. İçin AddressLine2ve Citysütunları, sütun adlarını belirtmek ELEMENTXSINILyönergesi. Bu öğe için null değerleri oluşturur AddressLine2ve Citysatır kümesi sütunlarda.

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;

Bu kısmi bir sonucudur:

<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>

...

Ayrıca bkz.

Başvuru

Kullanımı ile for xml Açık modu