異なる要素値を複数含む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
を超える式には無効のフラグが付けられています。ただし、1つの要素で使用すると、
$xml->xpath("(//person)[firstname[contains(., 'Kerr')]]");
その後、正常に動作します。
あなたは単に欲しい
//person[contains(firstname, 'Kerr') and contains(lastname, 'och')]