我想知道,如果有人可以帮助如何使用TSQL获取NODE name o XML变量。
<ROOT>
<IDS>
<ID>
<NAME>bla1</NAME>
<AGE>25</AGE>
</ID>
<ID>
<NAME>bla2</NAME>
<AGE>26</AGE>
</ID>
</IDS>
</ROOT>
在我的查询之后,我应该能够获得节点名称:NAME,AGE
我的SQL服务器是MSSQL 2005。
答案 0 :(得分:1)
这将为您提供第一个ID
节点的子节点的节点名称:
DECLARE @x xml
SET @x = '<ROOT>
<IDS>
<ID>
<NAME>bla1</NAME>
<AGE>25</AGE>
</ID>
<ID>
<NAME>bla2</NAME>
<AGE>26</AGE>
</ID>
</IDS>
</ROOT>'
SELECT T.c.value('local-name(.)', 'varchar(50)')
FROM @x.nodes('/ROOT/IDS/ID[1]/*') T(c)