【问题标题】:Write xpath for the node containing node value and attribute togetther为包含节点值和属性的节点一起编写 xpath
【发布时间】:2012-05-10 20:25:09
【问题描述】:

假设这是我的 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']
  • 对于节点值我使用这个xpath = "/myxml/data[. ='Apple']/
  • 也可以试试这个xpath = "/myxml/data[.='Apple'][@key='true]/

但出现错误。

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

这条路径有错误。

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

【问题讨论】:

  • 表达式必须计算为节点集
  • 你试过/myxml/data[.='Apple'][@key='true']吗?
  • 请注意引号
  • @Aleh Douhi。你也在写。

标签: xml xpath


【解决方案1】:

您需要使用“与”运算符。

从你的例子:

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

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

【讨论】:

  • 你在'true之后错过了'。我认为这是问题
  • 哎呀。 and 运算符仍然有效。恕我直言,它使谓词更加清晰。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
相关资源
最近更新 更多