使用tsql时获取XML节点

使用tsql时获取XML节点,sql,sql-server,xml,sql-server-2005,tsql,Sql,Sql Server,Xml,Sql Server 2005,Tsql,我想知道,是否有人可以帮助如何使用TSQL获取XML变量的节点名 <ROOT> <IDS> <ID> <NAME>bla1</NAME> <AGE>25</AGE> </ID> <ID> <NAME>bla2</NAME> <AGE>26</AGE> </ID> </IDS> </ROOT> 在查询之后,

我想知道,是否有人可以帮助如何使用TSQL获取XML变量的节点名

<ROOT>
<IDS>
<ID>
<NAME>bla1</NAME>
<AGE>25</AGE>
</ID>
<ID>
<NAME>bla2</NAME>
<AGE>26</AGE>
</ID>
</IDS>
</ROOT>
在查询之后,我应该能够获得节点名称:NAME、AGE


我的SQL server是MSSQL 2005。

这将为您提供第一个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)