다음을 통해 공유


예: ELEMENTXSINIL 지시문을 지정하기

요소 중심 XML을 검색하는 ELEMENT 지시문을 지정하는 경우 열에 NULL 값이 있는 경우 해당 요소는 EXPLICIT 모드에서 생성되지 않습니다. 필요에 따라 ELEMENTXSINIL 지시문을 지정하여 특성이 TRUE 값으로 설정된 NULL 값에 xsi:nil 대한 생성 요소를 요청할 수 있습니다.

다음 쿼리는 직원 주소를 포함하는 XML을 생성합니다. AddressLine2 열과 City 열의 열 이름이 ELEMENTXSINIL 지시문을 지정합니다. AddressLine2City 열에서 NULL 값에 대한 요소가 행 집합에서 생성됩니다.

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;  

다음은 결과의 일부입니다.

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

...

또한 참조하십시오

FOR XML에서 EXPLICIT 모드 사용