私は XPath を使用しています。これが私のクエリです。
$elements = $xpath->query('//div/div/div/div/div/div[@id="con1"]/table/tr/td');
そして、すべてがうまくいきます。
次に、 の条件を変更するdiv
と、クエリは次のようになります。
$elements = $xpath->query('//div/div/div/div/div/div[@id="con2"]/table/tr/td');
そして、私は見なければならないものを見ます。
しかし、後で、これを行うと:
$elements = $xpath->query('//div/div/div/div/div/div[@id="con1" or @id="con2"]/table/tr/td');
の要素だけが再び表示されcon1
ます。何故ですか?
完全なコードは以下のとおりです。
$elements = $xpath->query('//div/div/div/div/div/div[@id="con1" or @id="con2"]/table/tr/td');
foreach ( $elements as $element ) {
$str1=$element->getAttribute('class');
$str2="first-td";
$str3="status";
if (strcmp($str1,$str2)==0) {
var_dump( $element->nodeValue);
}
if (strcmp($str1,$str3)==0) {
echo $element->childNodes->item(0)->getAttribute('class'). "<br />";
}
}
要約すると、条件が のみの場合con1
、正しい結果が表示されます。のみの場合con2
、正しい結果が表示されます。を使用しているときに問題が発生しor
ます。その場合、 からの結果のみが表示されcon1
ます。最初の条件を満たして止まる感じです。それらは DOM ツリーの同じレベルにあります。