日期:2014-05-17  浏览次数:20536 次

遍历XML,谢谢各位
<column>
<LName ChineseName="name1" ShowOrder="0" />
<MRNADT ChineseName="name2" ShowOrder="1" />
<Gender ChineseName="name3" ShowOrder="2" />
</column>

说明:节点column为父节点,下面有多个子节点,而这些自己点的名字是随机的,怎么遍历column下的所有节点,并定位到该节点。比如,在不知道节点名字的情况下,如何取出LName节点。
xml sql

------解决方案--------------------
引用:
那又怎么遍历节点column,取出所有节点名字和节点属性值


declare @x xml
 
select @x='
<column>
<LName ChineseName="name1" ShowOrder="0" />
<MRNADT ChineseName="name2" ShowOrder="1" />
<Gender ChineseName="name3" ShowOrder="2" />
</column>'
 
 
select c.value('local-name(.)','varchar(10)') '节点',
       c.value('@ChineseName','varchar(10)') 'ChineseName',
       c.value('@ShowOrder','varchar(10)') 'ShowOrder'
 from @x.nodes('/column/*') as t(c)
 
/*
节点         ChineseName ShowOrder
---------- ----------- ----------
LName      name1       0
MRNADT     name2       1
Gender     name3       2

(3 row(s) affected)
*/