Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.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
XML XPATH查询示例_Xml_Xpath - Fatal编程技术网

XML XPATH查询示例

XML XPATH查询示例,xml,xpath,Xml,Xpath,有人能帮忙吗。我有以下XML: <metadata> <item> <tag>CustomerNumber</tag> <value type="string">pa440309201</value> </item> <item> <tag>DocumentType</tag> <value type="string">P

有人能帮忙吗。我有以下XML:

<metadata>
  <item>
    <tag>CustomerNumber</tag>
    <value type="string">pa440309201</value>
  </item>
  <item>
    <tag>DocumentType</tag>
    <value type="string">Proof of ID</value>
  </item>
  <item>
    <tag>Branch</tag>
    <value type="string">Derby</value>
  </item>
  <item>
    <tag>StoreCode</tag>
    <value type="string">440</value>
  </item>
</metadata>

客户编号
pa440309201
文档类型
身份证明
分支机构
德比
存储代码
440
我需要从项目中提取StoreCode的值,因此当项目的标记等于StoreCode时,需要读取value元素文本-我需要从多个XML文件中执行此操作,并且项目的顺序并不总是相同的

提前谢谢


约翰应该是这样的:

/metadata/item[tag='StoreCode']/value
请参阅的谓词部分,并将您的
标记
元素与示例中的
价格
元素类似


注意:这是未经测试的…

应该是这样的:

/metadata/item[tag='StoreCode']/value
请参阅的谓词部分,并将您的
标记
元素与示例中的
价格
元素类似

注意:这是未经测试的…

请尝试:

'//item[tag[.="StoreCode"]]/value/text()'
或者,更容易理解:

'//item[tag[text()="StoreCode"]]/value/text()'
尝试:

或者,更容易理解:

'//item[tag[text()="StoreCode"]]/value/text()'

的确,比我的更优雅;)的确,比我的更优雅;)