2011-12-07 4 views
4

루트 요소 레코드에 특성을 추가하려면 SQL 측에서이 작업을 수행 할 수 있습니까?SQL Server 2005에서 xml 노드에 특성을 추가하는 방법

SELECT top 1 'text' as nodeA 
       from test as z 
FOR XML AUTO, ELEMENTS, root('record') 

나는이 같은 XML을 생성하고 싶습니다 :

<Root attribute="value"> 
    <z> 
     <NodeA>text</NodeA> 
    </z> 
</Root> 
+0

테이블의 모양과 XML을 어떻게 보이게 할 수 있습니까? –

+0

@mar_s 안녕하세요 marc, 업데이트를 추가했습니다. –

+0

귀하의 요구 사항을 충족시키기 위해 제 응답이 업데이트되었습니다 .... –

답변

1

귀하의 예는 요청 일을하지 않습니다.

요청 :

<Root attribute="someValue"> 
    <YourElement> 
     <z> 
     <NodeA>text</NodeA> 
     </z> 
    </YourElement> 
</Root> 

답변 : 1

스크럽 이유 : 제가 비슷한 일을하고 저장하기 전에 파일을 스크럽 PowerShell을 사용하고

<Root> 
    <YourElement Attribute="someValue"> 
     <z> 
     <NodeA>text</NodeA> 
     </z> 
    </YourElement> 
</Root> 

https://connect.microsoft.com/SQLServer/feedback/details/265956/suppress-namespace-attributes-in-nested-select-for-xml-statements

스크럽 사유 2 :이

+1

* scrub 이유 2 *에 대한 링크를 잊어 버린 것 같습니다. – j0k

0
SELECT 
     'someValue' AS '@Attribute', 
     (SELECT TOP 1 
       'text' as 'z/NodeA' 
       FROM dbo.Test 
       WHERE.... 
       FOR XML PATH('YourElement') 
     ) 
FOR XML PATH('ROOT'); 

ROOT containg 속성과 ... 목록이있는 XML을 만들어야합니다.

관련 문제