【问题标题】:how to write xpath expression [duplicate]如何编写xpath表达式[重复]
【发布时间】:2016-11-10 15:46:19
【问题描述】:

我有两个类似以下的 xml 文档:

第一:

<root>
<recordType>ABCD</recordType>
<field>
  <value>red</field>
  <id>1234</field>
</field>
</root>

秒:

<root>
<recordType>EFGH</recordType>
<field>
  <value>red</field>
  <id>1234</field>
</field>
</root>

对于上述 xml,我将 allowedValues 的 xpath 表达式设置为 XPATH:recordType:ABCD;EFGH 这个表达式工作正常,但是对于下面的 xml

<root>
<record isRecord="true">
<field id="220" isRecord="false" value="Red" />
<field id="221" isRecord="true" value="Small" />
<field id="222" isRecord="true" value="25" />
</record>
<record isRecord="true">
<field id="220" value="Red" />
<field id="221" value="Large" />
<field id="222" value="50" />
</record>
</root>

如果字段 id=220 并且 isRecord="false" 和 value="Red",我想要 XPATH。

【问题讨论】:

    标签: xml xslt xpath


    【解决方案1】:

    以下 xpath 表达式能否满足您的期望:

    /root/record/field[@id='220' and @isRecord='false' and @value='Red']

    匹配结果:

    &lt;field id="220" isRecord="false" value="Red" /&gt;

    【讨论】:

    • 这对我不起作用....但是当我尝试 /root/record/field/@id:220 它工作正常.. 但是当我检查 /root/record/field /@id:221 .... 这不适用于上述 xml.. 它没有考虑第二个标签..
    • "/root/record/field/@id:220" 不是有效的 xpath。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多