[英]SQL Server Script - select xml child nodes of root as (n)varchar
我需要創建一個SQL Server腳本,腳本的一部分是選擇根節點的直接子節點的名稱,並將其轉換為(n)varchar
。 我不需要節點的屬性或內容。
這是xml的示例:
declare @XML xml
set @XML =
'
<config>
<module1 />
<module2 />
</config>
'
我想要這樣的結果:
請注意,xml 不是硬編碼的 ,可以具有許多不同的子節點。
我已經看過這個(msdn)鏈接,但是乍一看,使用這些XML方法似乎是不可能的。
非常感謝,Kjell
例如,如果要使用提到的子節點的XML,則可以使用Query方法。
select
cast(@XML.query('//GuiConfiguration/Activities') as nvarchar(max)),
cast(@XML.query('//GuiConfiguration/Reservations') as nvarchar(max))
編輯:提煉的問題的答案
要獲得根的直接子節點的名稱,您可以使用它;
select
cast(t.c.query('local-name(.)') as nvarchar(max))
from
@xml.nodes('//*[1]/child::node()') as t(c)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.