使用SQL从具有异常XML的XML字段中提取值
希望有人能帮忙- XML格式是用一种非常简单的语法组合起来的,但出于某种原因,我正努力使用标准的“值”类型查询来解析它。 我对SQL很有经验,但对XML的经验有限,在经历了两个小时的挫折和大量的谷歌搜索之后,我想我应该要求自己保持理智 数据存储为文本字符串,因此在解析之前将其转换为XML:使用SQL从具有异常XML的XML字段中提取值,sql,xml,xml-parsing,Sql,Xml,Xml Parsing,希望有人能帮忙- XML格式是用一种非常简单的语法组合起来的,但出于某种原因,我正努力使用标准的“值”类型查询来解析它。 我对SQL很有经验,但对XML的经验有限,在经历了两个小时的挫折和大量的谷歌搜索之后,我想我应该要求自己保持理智 数据存储为文本字符串,因此在解析之前将其转换为XML: <!-- Data config file --> <Config> <!-- keys--> <foo value="bar"/> &
<!-- Data config file -->
<Config>
<!-- keys-->
<foo value="bar"/>
<foo1 value="bar1"/>
<big_foo value="bar/bar.com"/>
<other value="f00"/>
但这将返回NULL,而不是预期的bar1
知道我哪里出错了吗?正确的XPath应该是
col.value('(Config/foo1)[1]/@value', 'nvarchar(max)')
XPath从1开始计数。请尝试“//foo1[1]”
col.value('(Config/foo1)[1]/@value', 'nvarchar(max)')