Ошибка запроса DOMXPath, ничего не показывает - PullRequest
0 голосов
/ 07 ноября 2011

Я использую этот код, чтобы получить название металла (например, медь, алюминий) с этого сайта: http://www.kitcometals.com/. Эти имена расположены в левой части страницы в таблице с именными ценами спот.

вот мой код:

<?php
$url = "http://www.kitcometals.com/";
$html = file_get_contents($url);
$dom = new DOMDocument();
$dom->loadHTML($html);
$xp = new DOMXPath($dom);

$qs = $xp->query("//table[@dwcopytype='CopyTableRow']/tbody/tr[@class='spot']/td[@class='menuB']");
foreach($qs as $q)
{
    echo $q->textContent."<br>";
}
?>

Я проверил этот XPath в приложении Google Chrome Xpath. Он только что работал, показывая каждое имя металла в этой таблице. Показывает это:

Медь никель алюминий цинк вести Уран

Но это не работает в коде PHP. Кто-нибудь, пожалуйста, выясните проблему ??

1 Ответ

1 голос
/ 07 ноября 2011

Вы проверили запрос xpath по отношению к dom "времени выполнения" браузера. Но в текущем документе нет элемента tbody. Попробуйте

//table[@dwcopytype='CopyTableRow']/tr[@class='spot']/td[@class='menuB']
...