我正在努力从XML查询值。我是这个世界的新人,所以如果答案确实很明显,而我却没有看到它,请原谅我:)
<documentid>
<id accountingentity="200" lid="...."
variationid="6370">aa0000012</id>
</documentid>
我想查询值“ aa0000012”,但是由于没有可用的该值的Xpath,所以我无法执行该操作。
我在这里使用此查询进行了尝试,但这只是给了我全部内容:
select
@salesorderxml.query('/syncsalesorder/dataarea/salesorder/salesorderheader/documentid/id')
有人可以帮助我吗?谢谢
答案 0 :(得分:2)
无论您是否有多个documentid,这都应该有效
select o.value('id[1]', 'varchar(max)')
from @salesorderxml.nodes('/documentid') as t(o)
它基本上说给我一个名为documentid
的节点,然后给我元素id
的值
答案 1 :(得分:0)
尝试一下-它会进入XML并获取<id>
的元素值:
SELECT
XC.value('text()[1]', 'varchar(100)')
FROM
@salesorderxml.nodes('/documentid/id') AS XT(XC)
这将返回:
(No column name)
----------------
aa0000012