Xpath同一节点上的多个条件

时间:2018-08-31 15:50:29

标签: c# xml xpath

我有一个类似下面的xml结构

<?xml version="1.0" encoding="UTF-8"?>
<Result>
   <node>
      <field value="79055_v01" name="Id" />
   </node>
   <node>
      <field value="79055" name="Id" />
   </node>
   <node>
      <field value="79155" name="Id" />
   </node>
   <node>
      <field value="811" name="Id" />
   </node>
   <node>
      <field value="811_v16" name="Id" />
      <field value="811" name="abc" />
   </node>
</Result>

我要选择,其中包含字段名称“ Id”和值“ 811”。什么是xpath

因此正确的xpath应该仅返回

<node>
  <field value="811" name="Id" />
</node>

尝试

/Result/node[field/@name='Id' and field/@value='811'] 

但这会返回两个节点

1 个答案:

答案 0 :(得分:4)

如果要获取具有node且具有两个必需属性的field,请尝试:

/Result/node[field[@name='Id' and @value='811']]