【发布时间】:2015-05-27 08:36:50
【问题描述】:
我的表名为 Table_1,有 2 列:
id (int) and myxml (xml)
我在下面附上了我正在使用的 xml 快照。
(这个xml对应id = 1)
我遇到的问题是,当使用 XQuery (.value) 查询此 XML 时,我只得到 NULL
这是我写的代码:
SELECT myXml.value('(Archivebatch/Cr/Modifcltn/Modif)[2]/@modiftype','int')
from Table_1 where id = 1
无论我尝试从 xml 中查询什么,我都只会得到 NULL 我也尝试包含没有帮助的命名空间(仍然只返回 NULL)
编辑:我尝试通过以下方式包含命名空间:
WITH XMLNAMESPACES ('w3.org/2001/XMLSchema-instance' AS ns)
select myXml.value('
(/ns:Archivebatch/ns:Cr/ns:Modifcltn/ns:Modif)[2]/@modiftype','int')
from dbo.table_1 where id = 1
【问题讨论】:
-
请勿将代码附加为链接/图片。如果链接更改或损坏,问题将变得不完整。始终在问题本身中包含代码和相关信息。
-
将 XML 复制粘贴到问题中不会花费太多精力,并且对于人们重现问题很有价值。另外,您是如何尝试在查询中包含命名空间的?
-
抱歉图片。我已经更新了我的帖子以反映查询中的命名空间。 @har07
标签: sql sql-server xml sql-server-2008 xquery