如何使此代码段在我正在解析的页面上返回每个div
的{{1}}类的值,而不是像现在这样只返回第一个?
age
我有一些类似的代码返回我想要的所有图像,但我似乎无法修改它以返回我想要的匹配$nodelist = $xpath->query('//div[@class="age"]')->item(0);
print_r($nodelist->nodeValue);
值:
div
答案 0 :(得分:0)
您需要使用"*"
使用星号()选择前面的每个元素 路径。因此,如果您想匹配td标记内的每个元素 (例如p,div等),你会写:// td /
答案 1 :(得分:0)
这段代码的问题不是XPath,而是它返回后你用它做的。
$nodelist = $xpath->query('//div[@class="age"]')->item(0);
print_r($nodelist->nodeValue);
这会获取所有div
,然后使用->item(0)
获取第一个,然后将第一个项目分配给变量$nodelist
。
使用现有代码作为示例,您可以通过移除->item(0)
来更改它,将所有结果分配给$nodelist
并迭代它们,就像第二个“工作”示例一样:
$nodelist = $xpath->query('//div[@class="age"]');
foreach ($nodelist as $node)
{
// Do something with each div
}