簡體   English   中英

PHP DOMXpath獲取嵌套值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM