3
我嘗試使用必須包含多個名稱空間的sqlserver創建XML。 XML應該看起來像這樣:如何在sqlserver查詢中添加多個名稱空間來創建XML
<ns1:Message xmlns:ns1="http://Something/A"
xmlns:ns2="http://Something/B"
xmlns:ns3="http://Something/C">
<ns1:A>
<ns1:A1>201608111003201</ns1:A1>
<ns1:A2>Some text</ns1:A2>
<ns1:A3>More text</ns1:A3>
</ns1:A>
<ns2:B>
<ns2:B1>123456788</ns2:B1>
<ns2:B2>Even more text</B2>
</ns2:B>
<ns3:C>
<ns3:C1>E232323</ns3:C1>
<ns3:C2>P</ns3:C2>
</ns3:C>
</ns1:Message
我的查詢看起來像現在只有一個名稱空間。
WITH XMLNAMESPACES ('http://Something/A' as ns3,
'http://Something/B' as ns2,
'http://Something/C' as ns1)
SELECT COLUMN1 as 'ns1:A1',
COLUMN2 as 'ns1:A2',
COLUMN3 as 'ns1:A3'
FROM MYTABLE
FOR XML PATH ('ns1:A'), ROOT('ns1:Message'), ELEMENTS
此查詢工作正常,但是當我嘗試在查詢中添加ns2或ns3命名空間似乎沒有任何工作。如何做到這一點。 在此先感謝!
感謝這爲我工作。我認爲我對命名空間的看法並不完全正確。小組的嵌套爲我工作。 XML由其他公司設計,不知道這種設計的原因。 – Carlo