无法使用dom / xpath将表行操作为当前单元格的parentNode

时间:2018-06-08 09:50:43

标签: php xpath domdocument

我有像这样的PHP代码

$html = '<div class="some_class"><table><tr><td>Tr0Td0</td><td>Tr0Td1</td></tr><tr><td>Tr1Td0</td><td>Tr1Td1</td></tr></table></div>';
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');

$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_use_internal_errors(false);
$xpath = new DOMXpath($dom);

$div = $xpath->evaluate('//div[contains(@class, "some_class")]')[0];
$table = $div->getElementsByTagName('table')[0];

foreach($table->getElementsByTagName('td') as $td) {
    if($td->nodeValue == 'Tr0Td1') {
        $td->parenNode->nextSibling->setAttribute('class','nextTR');
    }
}

echo $dom->saveXML($table);

foreach()循环中,我需要获取表格行,这是关于当前单元格所在行的下一行。但我不能这样做,甚至得到当前行细胞。我在两种情况下都得到500错误。

出了什么问题?

0 个答案:

没有答案