Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL从具有异常XML的XML字段中提取值_Sql_Xml_Xml Parsing - Fatal编程技术网

使用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"/> &

希望有人能帮忙-

XML格式是用一种非常简单的语法组合起来的,但出于某种原因,我正努力使用标准的“值”类型查询来解析它。 我对SQL很有经验,但对XML的经验有限,在经历了两个小时的挫折和大量的谷歌搜索之后,我想我应该要求自己保持理智

数据存储为文本字符串,因此在解析之前将其转换为XML:

 <!-- 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)')