[英]PHP DOMXpath getting nested values
我正在使用DOMDocument和DOMXpath來解析html頁面。
標記是這樣的:
<dl>
<dt>
<a href="">name</a>
</dt>
<dd>
<span class="one">one</span>
<span class="two">two</span>
</dd>
</dl>
<dl>
<dt>
<a href="">name</a>
</dt>
<dd>
<span class="one">one</span>
<span class="two">two</span>
</dd>
</dl>
最初,我只需要獲得href值並且能夠使用:
$doc = new \DOMDocument();
$doc->loadHTML($html);
$xpath = new \DOMXPath($doc);
$res = $xpath->query('//dl/dt/a');
然后使用->nodeValue
和->getAttribute('href')
迭代結果
但是,現在我想在span標記中獲取值為'two'的值。
所以我將查詢更新為$xpath->query('//dl')
。
問題是,我如何獲得現在的href標簽和值以及帶有類名的span值。 此外,有關如何調試或顯示查詢路徑的任何建議都將非常有用。
謝謝!
直接用路徑獲取這些值:
$res = $xpath->query('//a/@href');
和span-tag中的內容:
$res = $xpath->query("//span[@class='two']");
你可以在這里測試xpath: http ://www.xpathtester.com
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.