更多的反映出一个问题。我创建一个存储过程,它将xml作为输入参数,并在查询数据时遇到一些问题。存储过程xml查询
这是查询
DECLARE @xVar XML
SET @xVar =
'<?xml version="1.0"?>
<Workflow xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ait.com/workflow/">
<Users>
<User ObjectId="1232">
<UserId>123</UserId>
</User>
<User ObjectId="1232">
<UserId>124</UserId>
</User>
</Users>
</Workflow>';
WITH XMLNAMESPACES(DEFAULT 'http://ait.com/workflow/')
SELECT [UserId] = reportdata.item.value('UserId[1]', 'varchar(36)')
FROM @xVar.nodes('//Workflow/Users/User') AS reportdata(item)
这只是返回的用户ID的XML文档中的一个。如果我走在SELECT语句
FROM @xVar.nodes('//Workflow/Users/User') AS reportdata(item)
它的工作原理和似乎是合乎逻辑的最后一部分仔细看,从根开始,并指定路径,有什么奇怪,我的是,这也适用
FROM @xVar.nodes('//Users/User') AS reportdata(item)
,甚至陌生人,这个工作
FROM @xVar.nodes('//User') AS reportdata(item)
可能错过了一些页面的XML书傻瓜,可能有人赐教请
感谢:
试试这个:
结果。像你的答案教学,彻底和尊重。干得好 – klashagelqvist
不客气。 –