Как я могу выполнять запросы XPath к элементам DOME с помощью PHP?

Я пытаюсь выполнять запросы 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?

7
задан Max 23 August 2013 в 11:51
поделиться