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

Я пытаюсь вытащить точную таблицу во время "веб-очистки". Использовал 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-> length всегда равно нулю. Он не тянет этот узел таблицы.

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 08 мая 2009

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

2 голосов
/ 21 апреля 2013

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

. // * [@ ID = 'данные'] / TBODY / тр [1] / тд [2] / оболочка

создать это:

. // * [@ ID = 'данные'] / тр [1] / тд [2] / оболочка

Aloe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...