如何使用xPath以下
问题描述:
我通过使用getElementById('rso')在php Dom中获得div“rso”数据,但php不允许通过“ClassName”获得,我需要获得的所有“子” <div class =srg>
,然后在里面标记“href”。如何使用xPath以下
<div id=”rso”>
<div class= “_Nid”>
<div class = “srg”>
<div class =”g”>
<div class=”rc”>
<h3 class = “r”>
<a href >
</h3>
</div>
</div>
<div class =”g”>...</div>
<div class =”g”>...</div>
<div class =”g”>...</div>
</div>
</div>
</div>
请问你能告诉我该怎么做。或者如果它可以在这里工作,将使用什么xPath。
答
<?php
$html = <<<HTML
<div id="rso">
<div class="_Nid">
<div class="srg">
<div class="g">
<div class="rc">
<h3 class="r">
<a href="http://my.site.com/lol.txt" >
</h3>
<h3 class="r">
<a href="http://my.site.com/lol2.txt" >
</h3>
<h3 class="r">
<a href="http://my.site.com/lol23.txt" >
</h3>
</div>
</div>
<div class="g">...</div>
<div class="g">...</div>
<div class="g">...</div>
</div>
</div>
</div>
HTML;
$dom = new DOMDocument;
$dom->loadHTML($html);
$domxpath = new DOMXPath($dom);
$filtered = $domxpath->query('//div[@class="srg"]//a/@href');
foreach ($filtered as $item) {
echo "$item->value\n";
}
答
试试下面XPath
:
//div[@class="srg"]//a/@href