使用tsql获取XML节点
问题描述:
我想知道,如果任何人都可以使用TSQL来获取NODE名称o XML变量。使用tsql获取XML节点
<ROOT>
<IDS>
<ID>
<NAME>bla1</NAME>
<AGE>25</AGE>
</ID>
<ID>
<NAME>bla2</NAME>
<AGE>26</AGE>
</ID>
</IDS>
</ROOT>
我查询后,我应该能够得到的节点的名称:姓名,年龄
我的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)