>我进行了查询并将结果存储在一个$id变量中,如下所示:
$id = $exampleXPath->query("//li[@class='firstquery']");
比我从类 threeQuery 的元素中提取数据,只有当这个元素是 $id 的子元素时。有许多 ThirdQuery 类,因此需要将其链接到$counter指定的$id。像这样:
<class="fisrtQuery">
- <class="childClass">
-> <class="childClass2">
-- <class="grandsonClass">
-- <class="grandsonClass">
--> <class="secondQuery">
--- <class="sfd">
--- <class="sfd">
--- <class="thirdQuery">
for ($counter=0 ; $counter<60 ; $counter++){
if($id->item($counter)->hasChildNodeOfClassThirdQuery){
echo nodeOfClassThirdQuery->item(0)->nodeValue;
}
}
php 是否具有轻松遍历子节点的强大功能?
如果我正确理解您的假设代码,它可以大致翻译成这样的东西:
$id = $exampleXPath->query("//li[@class='firstquery']");
$xpath = "./*[position() < 61]/*[@class='thirdQuery']";
$result = $exampleXPath->query($xpath, $id);
XPath的解释:
-
./*[position() < 61]
:获取当前上下文元素$id
的子元素,索引小于61
。XPath 索引从1
开始,所以这大约等于 PHP 中的"循环0
索引处的子元素以59
"。 -
/*[@class='thirdQuery']
:获取当前上下文元素的子元素,其中class
属性值等于"thirdQuery"
。这里的上下文元素是$id
的子元素,由上面的 XPath 位返回