野蜜/xpath-document

该软件包最新版本(dev-master)没有可用的许可证信息。

DOMDocument的更友好的XPath扩展,适合那些精通XPath的用户!

dev-master 2013-11-13 11:55 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:51:11 UTC


README

Bower: bower install wildhoney/xpath-document

入门指南

XPathDocument 允许您链式调用 query 方法,让您在每次迭代中更深入地探索DOM层次结构。

$posts = $xpathDocument->query('//div[@class="posts"]');

foreach ($posts as $post) {
    $comments = $post->query('div[@class="comments"]');
}

每个 query 都会返回一个 XPathDocument_Dom_List 实例 - 该类实现了 IteratorArrayAccessCountable 接口,为您提供大量用于操作节点集合的有用方法。

通常 XPathDocument_Dom_List 会包含一组 XPathDocument_Dom_Element 实例 - 但其他实例也是可能的

  • XPathDocument_Dom_Element - 具有值和属性的泛型元素;
  • XPathDocument_Dom_Attr - 专门用于节点属性;
  • XPathDocument_Dom_Text - 专门用于节点文本值;

后两者有一个简单的 getText 方法用于返回它们的值。然而,XPathDocument_Dom_Element 具有最大的灵活性。

元素实例

使用 XPathDocument_Dom_Element 实例,您有以下方法

  • getText - 获取节点值;
  • getHtml - 获取节点的HTML值;
  • getName - 获取节点名称(spandiv 等...);
  • getAttribute - 通过名称获取属性;
  • query - 使用节点作为进一步查询的上下文;

Reddit 示例

请参阅 example/index.php 中的 Reddit.com 示例,它将演示如何使用 XPathDocument 爬取网站是多么简单!