Php 在不同元素上具有多个包含的XPath

Php 在不同元素上具有多个包含的XPath,php,xml,xpath,simplexml,contains,Php,Xml,Xpath,Simplexml,Contains,是否可以使用包含多个不同元素值的XPath表达式 XML <data> <person> <firstname>Kerry</firstname> <lastname>Packer</lastname> <address>Crown</address> <person> <person> <firstnam

是否可以使用包含多个不同元素值的
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>
当前上面的
XPath
表达式被标记为无效。但是如果我将它与一个元素一起使用

$xml->xpath("(//person)[firstname[contains(., 'Kerr')]]"); 
然后它就可以工作了。

你只需要

//person[contains(firstname, 'Kerr') and contains(lastname, 'och')]
我们也可以在搜索中使用“or”子句。
//person[contains(firstname, 'Kerr') and contains(lastname, 'och')]