2013-08-31 20 views
7

XPath式に複数の異なる要素値を含む式を使用できますか?現在XPath表現上記複数の要素が異なる要素に含まれている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')]]"); 

無効としてフラグが立てられています。しかし、1つの要素でそれを使用すると、それは正常に動作します。

答えて

19

あなたは単に、まさにこの..はい

//person[contains(firstname, 'Kerr') and contains(lastname, 'och')] 
+0

をしたい... :) –

+0

パーフェクト!私はここで私の自己に答えようとしていた。これを完全に忘れてしまった。ありがとうございました。 – doNotCheckMyBlog

+0

完全に動作します。私はこれを探しています... –

関連する問題