Я анализирую HTML с DOMDocument в php.
Я обнаружил, что не могу выбрать все, используя запрос xpath. Однако метод getElementsByTagName () работает нормально.
Вот код:
$xml = new DOMDocument();
$xml->load("file.html");
$xpath = new DOMXPath($xml);
$links = $xpath->query("//a");
$links2 = $xml->getElementsByTagName("a");
foreach($links as $link){
echo "<br>$k: ".$link->nodeValue; // this doesn't print the node value. $links is empty
}
foreach($links2 as $link){
echo "<br>$k: ".$link->nodeValue; // this prints OK the node value
}
Я бы подумал, что xpath-> query ("// a") будет таким же, как getElementsByTagname ("a"), но, очевидно, это не так.
Может кто-нибудь сказать мне, почему они не одинаковы. Или, если они есть, что я делаю неправильно, чтобы выбрать узлы с помощью запроса xpath?
Спасибо