繁体   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