为包含节点值和属性的节点写入xpath

时间:2012-05-10 20:25:10

标签: xml xpath

假设这是我的XML:

<myxml>
   <data key="true">Apple</data>
   <data key="true">banana</data>
   <data1 key="true">banana</data1>
   <data>Apple</data>
</myxml>

我需要一个包含属性key="true"和节点值= Apple的标记的XPath表达式。

我尝试了不同的组合,但没有成功。

  • 对于属性,我使用此xpath="/myxml/data[@key='true']
  • 并且对于Node值,我使用此xpath = "/myxml/data[. ='Apple']/
  • 并尝试此xpath = "/myxml/data[.='Apple'][@key='true]/

但得到了错误。

我在xpath中有多个标签。 /mappings/mapping[data[@iskey='true'][.='apple'] and data1[@iskey='true'][.='banana']/

这条路上有一个错误。

我如何同时指定属性和节点值?

1 个答案:

答案 0 :(得分:3)

您需要使用'和'运算符。

从你的例子:

    /myxml/data[.='Apple' and @key='true']

http://www.w3schools.com/xpath/xpath_operators.asp下查看有关xpath运算符的更多信息。