DOM查询如何获得第一级匹配?
我需要参加所有一级深度的比赛 它显示了所有包含类accordion+所有子匹配的匹配DOM查询如何获得第一级匹配?,dom,zend-framework2,zend-dom-query,Dom,Zend Framework2,Zend Dom Query,我需要参加所有一级深度的比赛 它显示了所有包含类accordion+所有子匹配的匹配 $dom = new Query($html); $results = $dom->execute('.accordion'); 我在课堂上得到了所有6个节点。手风琴 Html 测试1 测试2 测试3 名称 姓名2 名字3 如何在没有child的情况下只获取第一级DOM对象集(节点列表)? 应该是 第一个对象 <div class="accordion"> Name
$dom = new Query($html);
$results = $dom->execute('.accordion');
我在课堂上得到了所有6个节点。手风琴
Html
测试1
测试2
测试3
名称
姓名2
名字3
如何在没有child的情况下只获取第一级DOM对象集(节点列表)?
应该是
第一个对象
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
名称
姓名2
名字3
第二个对象<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
名称
姓名2
名字3
谢谢 我已经测试了一些代码
$html = '
<div class="container">
<div class="accordion">
Test1
<div class="accordion">
Test2
<div class="accordion">
Test3
</div>
</div>
</div>
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
</div>
';
$dom = new \Zend\Dom\Query($html);
// Will returns the first levels .accordion in .container ($results length is 2)
$results = $dom->queryXpath('//div[@class="container"]/div[@class="accordion"]');
echo '<pre>';
foreach($results as $result){
print_r($result);
}
exit;
你试过使用Xpath表示法而不是执行方法吗?我使用了表示法..它仍然是一样的//div[contains(concat(“”,normalize space(@class),“”),'accordion group')][contains(concat(“”,normalize space(@class),“”),'exportable')]我又发布了一个问题,因为我还没有收到任何使用DOMXpath表示法的答案,所以我想您的div.accordio在一个特定的容器中。使用“container>.accordion”选择容器的直接子级。