Jun 022010
突然发现我对 Web 居然了解的这么少,有必要系统的学习下基础知识! 今天在弄 Selenium 与 TestNG 的组合测试,第一次听说了 XPath 这个标准,事实上它从 99年起就是 W3C 的标准了,被设计供 XSLT、XPointer 以及其他 XML 解析软件使用。不多废话,言归正传。
XPath 是一门在 XML 文档中查找信息的语言,用来在 XML 文档中通过元素和属性进行导航,它使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值,日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。
XPath 是 XSLT 标准中的主要元素。如果没有 XPath 方面的知识,您就无法创建 XSLT 文档。XQuery 和 XPointer 均构建于 XPath 表达式之上。 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。
XPath 存取函数样例 (参考 XPath函数参考手册)
fn:node-name(node) 返回参数节点的节点名称。
fn:nilled(node) 返回是否拒绝参数节点的布尔值。
fn:data(item.item,...) 接受项目序列,并返回原子值序列。
fn:base-uri()
fn:base-uri(node) 返回当前节点或指定节点的 base-uri 属性的值。
fn:document-uri(node) 返回指定节点的 document-uri 属性的值。