Zend_Dom_Query 为利用 XPath 或 CSS 选择器来查询 XML 和
(X)HTML 文档提供了机制。
它为帮助 MVC 应用的功能测试而开发,但也用于 screen scrapers 的快速开发。
Zend_Dom_Query,你需要初始化一个
Zend_Dom_Query 对象,并可选地传递一个文档到查询(一字符串)。
一旦你有一个文档,可以使用 query() 或 queryXpath() 方法;
每个方法将返回带有任何匹配节点的 Zend_Dom_Query_Result 对象。
Zend_Dom_Query 和使用 DOMDocument + DOMXPath 的主要不同之处是可以依靠 CSS 选择器来选择。
你可以使用下列的任何组合:
|
Lorem ipsum
|
Zend_Dom_Query_Result 实现 Countable
和 Iterator 并在内部存储结果为
DOMNodes/DOMElements。
作为例子,考虑下列的调用,它依靠上述的 HTML 来选择:
Zend_Dom_Query 也允许利用 queryXpath() method 直接 XPath 查询;
你可以传递任何有效的 XPath 查询给这个方法,它将返回一个
Zend_Dom_Query_Result 对象。
Zend_Dom_Query 类家族有下列方法可用。
Zend_Dom_Query 可用:
setDocumentXml($document): 指定一个查询使用的 XML 字符串。
setDocumentXhtml($document): 指定一个查询使用的 XHTML 字符串。
setDocumentHtml($document): 指定一个查询使用的 HTML 字符串。
setDocument($document): 指定一个查询使用的字符串;
Zend_Dom_Query 将尝试自动检查文档类型。
getDocument(): 获取提供给对象的原始文档字符串。
getDocumentType(): 获取提供给对象的文档的类型;是
DOC_XML、 DOC_XHTML 或
DOC_HTML 类常量其中之一。
query($query): 使用 CSS 选择器符号查询文档。
queryXpath($xPathQuery): 使用 XPath 符号查询文档。
Zend_Dom_Query_Result
实现 Iterator 和 Countable,
可用于 foreach 循环和 count() 函数。
另外,它有下列方法:
getCssQuery(): 返回用于处理结果(如果有的话)的 CSS 选择器查询。
getXpathQuery(): 返回用于处理结果的 XPath 查询。
在内部,Zend_Dom_Query 转换 CSS 选择器查选为 XPath,所以这个值将永远被组装。
getDocument(): 获取选择使用的文档。