使用tsql时获取XML节点

时间:2010-12-09 00:38:15

标签: sql sql-server xml sql-server-2005 tsql

我想知道,如果有人可以帮助如何使用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。

1 个答案:

答案 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)