0

任何人都可以帮忙。我有下面的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>

我需要从项目中提取 StoreCode 的值,因此需要在项目的标记等于 StoreCode 时读取值元素文本 - 我需要从多个 XML 文件中执行此操作,并且项目的顺序并不总是相同。

提前致谢

约翰

4

2 回答 2

3

应该是这样的:

/metadata/item[tag='StoreCode']/value

请参阅本文的谓词部分,并将您的tag元素视为类似于price示例中的元素。

注意:这是未经测试的...

于 2013-08-05T14:58:07.097 回答
0

尝试:

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

或者,更容易理解:

'//item[tag[text()="StoreCode"]]/value/text()'
于 2013-08-05T15:02:20.493 回答