XPath中文手册详解:导航与选择技巧

5星 · 超过95%的资源 需积分: 33 222 下载量 41 浏览量 更新于2024-08-02 收藏 311KB PDF 举报
"XPath官方手册中文版" XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来高效地选取XML文档中的数据,就像文件系统中路径用于定位文件一样。XPath使用路径表达式来选取XML文档中的元素、属性和其他节点。 **实例解析** 1. **基本路径语法**:路径表达式以斜线`/`开头,表示从根节点开始的绝对路径。例如,`/html/body/p` 会选取HTML文档中的所有段落(p元素)。 2. **双斜线路径**:路径以`//`开头,用于选取文档中任意位置满足条件的元素,不论它们在层次结构中的位置如何。例如,`//p` 会选择文档中的所有p元素。 3. **星号通配符**:`*` 代表任何元素,所以`/html//*` 会选择HTML文档中所有的元素。 4. **位置路径**:方括号可以用来选取特定位置的元素。例如,`/html/body/p[3]` 选取第三个段落元素。 5. **属性选择**:`@` 符号用于选取元素的属性。如,`//img/@src` 选择所有img元素的src属性。 6. **函数应用**: - `normalize-space()` 函数用于移除字符串两端的空白,并将连续的空格替换为单个空格。 - `count()` 函数计算选定元素的数量。 - `name()` 返回元素的名称。 - `starts-with()` 检查字符串是否以特定字符或字符串开头。 - `contains()` 判断字符串是否包含另一个字符串。 - `string-length()` 计算字符串的字符数。 7. **特殊路径轴**: - `child` 轴选取当前节点的子元素。 - `descendant` 轴选取当前节点的所有后代,包括子元素、子元素的子元素等,但不包括属性和命名空间节点。 - `parent` 轴选取当前节点的父元素。 - `ancestor` 轴选取当前节点的所有祖先,包括父元素、父元素的父元素等,始终包含根节点。 - `following-sibling` 轴选取当前节点后的所有同级元素。 - `preceding-sibling` 轴选取当前节点前的所有同级元素。 8. **路径组合**:使用竖线`|`可以合并路径表达式,选择满足任一路径的节点。例如,`/html/body/p|/html/body/h1` 会选择段落和h1元素。 XPath的强大之处在于它的灵活性和可组合性,它允许开发者根据需要精确地定位和操作XML文档中的数据。在处理XML文档时,XPath是不可或缺的工具,能够有效地进行数据提取、过滤和导航。通过熟练掌握XPath,你可以更高效地处理XML文档,无论是进行数据验证、转换还是其他XML相关的任务。