PHP操作HTML/XML的类库 QueryPath

jopen 12年前
     <p><img alt="PHP操作HTML/XML的类库 QueryPath" src="https://simg.open-open.com/show/560d7c434785fc2784a80a53b549986d.png" width="339" height="100" /></p>    <p>毫无疑问,HTML、HTTP 和 XML 是支撑 Web 技术的三种最重要的技术。对于 PHP 开发人员而言,使用这些技术可能比较麻烦。但是,新的 QueryPath 库,即 jQuery JavaScript 库面向 PHP 的一个版本,为使用 XML、HTML 和 HTTP 提供了一个方便的 API。从 Web 页面到 Web 服务、从 SVG 到 SPARQL、从 RDF 到 Atom,QueryPath 为目前使用 PHP 的 Web 开发提供了一个健壮而简单的 API。</p>    <p>为了提供简单性,QueryPath 使用一种简洁的语法。方法名称简短地表示出它们所做的事情(例如,<code>text()</code>、<code>append()</code>、 <code>remove()</code>)。由于大多数方法返回一个 <code>QueryPath</code> 对象,因此方法调用是<em>可链接的(chainable)</em>,也就是说,可以在一个语句中依次调用多个方法。 这一惯例有时被称作<em>连续接口(fluent interface)</em>。为了让 JavaScript 开发人员感到熟悉,QueryPath 实现了大部分的 jQuery 遍历和操纵函数和行为。</p>    <p>为 了具有健壮性,QueryPath 提供了为解决装载、搜索、读写 XML 和 HTML 内容等典型用例而设计的工具。但是,无论库有多大,一种通用的 API 无法满足所有的要求。为解决这个问题,QueryPath 提供一种扩展机制,以便为 QueryPath 添加新的方法。QueryPath 还包括用于添加数据库支持、模板支持和附加的 XML 特性的扩展。</p>    <p>您 也许有疑问:“为什么还是 XML 或 HTML 工具?PHP V5 已经有一些 XML 工具,包括一个 Document Object Model(DOM)实现和 SimpleXML 库。为什么还有增加一个?”答案很简单:QueryPath 被设计为一种通用的工具。而 DOM API 比较复杂和麻烦。它的面向对象模型也许很强大,但即使最简单的任务都需要编写很多行代码。另一方面,SimpleXML 对于很多编程任务而言又过于简单。除非 XML 是完全可预测的,否则导航一个 SimpleXML 文档绝不简单。</p>    <p>QueryPath 试图在 DOM 的丰富性与 SimpleXML 的简单性之间找到一个最佳结合点。</p>    <p>QueryPath 是一个纯 PHP 库。要使用它,只需从官方 Web 站点 下载 它,并将它添加到 PHP 库路径中。</p>    <p>QueryPath 对系统的要求很低。只要启用 DOM 扩展,它就可以在 PHP V5 上工作。PHP V5 的大多数发行版都可以满足这个需求。QueryPath 不支持早已被弃用的 PHP V4。</p>    <p><strong>重要的 QueryPath 遍历方法</strong></p>    <p> </p>    <p><img alt="PHP操作HTML/XML的类库 QueryPath" src="https://simg.open-open.com/show/ca448cca6f33bfff97f4e558e59c4cfc.gif" width="308" height="221" /></p>    <p>示例代码:</p>    <pre class="brush:php; toolbar: true; auto-links: false;"><?php  require 'QueryPath/QueryPath.php';  $xml = '<?xml version="1.0"?> <root>   <child id="one"/>   <child id="two"/>   <child id="three"/>   <ignore/> </root>';  $qp = qp($xml, 'root')->children(); print $qp->size(); ?></pre>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1324370901421" target="_blank">http://www.open-open.com/lib/view/home/1324370901421</a></p>    <p></p>