Почему PHP XPath не находит элементы таблицы, хотя Firefox показывает, что они существуют?

Я пытаюсь вытащить точный стол во время «царапины в Интернете». Использовал cURL, чтобы вытащить страницу в $ html, что преуспевает.

Использовал Firebug, чтобы получить точный XPATH для таблицы.

Код следует:

$dom = new DOMDocument($html); $dom->loadHTML($html); $xpath = new DOMXpath($dom); $summary = $xpath->evaluate('/html/body/table[5]/tbody/tr/td[3]/table/tbody/tr[8]/td/table'); echo "Summary Length: " . $summary->length; 

При выполнении длина $ summary-> всегда равна нулю. Он не вытягивает этот узел таблицы.

Есть идеи?

Firefox может вставлять «виртуальные» элементы tbody в таблицы, которые их не имеют; эти элементы существуют в исходном файле?

Просто удалите "/ tbody". Из xpath вы получили от firefox:

.//*[@id='data']/tbody/tr[1]/td[2]/span

создайте это:

.//*[@id='data']/tr[1]/td[2]/span

Алоэ