谷歌搜索后找不到与我的问题有关的任何内容。 问题是:我解析页面,找到一个表[有四个表]。
当我找到时,我想在表格中添加一行/一行/行。但我不知道该怎么做。一些类似的问题是关于解析xml和查看内容。
在代码中我有类似的东西:
$dom = new DOMDocument();
$dom->loadHTML($output->getHTML());
$xpath = new DOMXPath($dom);
$tableProp = $xpath->query('//*[@class="smwb-factbox"][2]');
....
$dom->asHTML();
答案 0 :(得分:0)
解决方案很简单: 使用createElement,setAttribute和appendChild等方法解决了我的问题,示例如下:
$dom = new DOMDocument();
$dom->loadHTML(mb_convert_encoding($output->getHTML(), 'HTML-ENTITIES', 'utf-8'));
$xpath = new DOMXPath($dom);
$tableProp = $xpath->query('//*[@class="smwb-factbox"][2]');
...
$th_el = $dom->createElement('th', $th_outer_inner_span_a_el);
...
$td_el = $dom->createElement('td', '');
$td_el->appendChild($td_el_outer_span);
$tr_el = $dom->createElement('tr', '');
$tr_el->setAttribute('class', 'smwb-propvalue');
$tr_el->appendChild($th_el);
$tr_el->appendChild($td_el);
$tableProp->item(0)->appendChild($tr_el);
$dom->saveHTML();
...
这个想法非常简单。 我在mediawiki中有表,找到它,创建新行并在保存之后插入它。这就是全部。