Я пытаюсь выполнять запросы Xpath для DOMElements, но это не так похоже не работает. Вот код
<html>
<div class="test aaa">
<div></div>
<div class="link">contains a link</div>
<div></div>
</div>
<div class="test bbb">
<div></div>
<div></div>
<div class="link">contains a link</div>
</div>
</html>
Я делаю следующее:
$dom = new DOMDocument();
$html = file_get_contents("file.html");
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$entries = $xpath->query("//div[contains(@class,'test')]");
if (!$entries->length > 0) {
echo "Nothing\n";
} else {
foreach ($entries as $entry) {
$link = $xpath->query('/div[@class=link]',$entry);
echo $link->item(0)->nodeValue;
// => PHP Notice: Trying to get property of non-object
}
}
Все работает нормально до $ xpath-> query ('/ div [@ class = link], $ entry);
. Я не знаю, как использовать Xpath для конкретного DOMElement ($ entry).
Как я могу использовать запросы xpath для DOMElement?