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