是否可以使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')]]");
然后它运作正常。
答案 0 :(得分:23)
你只想要
//person[contains(firstname, 'Kerr') and contains(lastname, 'och')]