更新
为了避免删除这个问题,在几条评论后我意识到,PHP使用Xpath 1.0,所以我试图使用Xpath 2.0版中的函数。
感谢您的反馈,并希望一些高信誉的用户建议我,如果最好删除问题或留下更新。
我一直在搜索这个问题,但没有一个解决方案适合我。我在PHP中使用DomXPath,并使用模板测试程序用于Xpath 2.0 来测试我的查询:http://videlibri.sourceforge.net/cgi-bin/xidelcgi
这是开始处理它的代码的第一部分:
$dom_html = new DOMDocument();
libxml_use_internal_errors(true);
$dom_html->loadHTMLFile($file);
libxml_clear_errors();
$xpath = new DOMXPath($dom_html);
然后我在Xpath 2.0测试程序中尝试此查询:
//table/tbody/tr/td/div/count(table)
这个查询给出了每个div里面的数量,这对我来说是一个完美的解决方案:
11
2
1
1
2
14
4
19
4
4
3
2
9
16
但是当我尝试在PHP中使用相同内容时,我还没有获得这些数字。我尝试了以下解决方案:
$quantity = $xpath->evaluate('count(//table/tbody/tr/td/div/table)');
但这给了我总数,而不是给我理想的解决方案。
$quantity = $xpath->query('//table/tbody/tr/td/div/count(table)');
当我进行此查询时,我尝试使用两种不同的方法来获得mi想要的答案,但它们都不适合我:
1)
foreach ($quantity as $content)
{
echo $content->nodeValue;
}
2)
foreach ($quantity as $content)
{
echo $contenido->textContent;
}
由于