php – XPath with multiple包含在不同的元素上

前端之家收集整理的这篇文章主要介绍了php – XPath with multiple包含在不同的元素上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以让XPath表达式包含多个包含不同元素值的表达式?

XML

<data>
   <person>
      <firstname>Kerry</firstname>
      <lastname>Packer</lastname>
      <address>Crown</address>
   <person>
   <person>
      <firstname>Kerry</firstname>
      <lastname>Murdoch</lastname>
      <address>California</address>
   <person>
<data>

PHP

$xml = simplexml_load_string($data);
$elements = $xml->xpath("(//person)[firstname[contains(.,'Kerr')]] and [lastname[contains(.,'och')]]");

目前,上面的XPath表达式被标记为无效.但是,如果我将它与一个元素一起使用,

$xml->xpath("(//person)[firstname[contains(.,'Kerr')]]");

然后它工作正常.

你只是想要
//person[contains(firstname,'Kerr') and contains(lastname,'och')]

猜你在找的PHP相关文章