📜  XPath-节点(1)

📅  最后修改于: 2023-12-03 14:48:39.319000             🧑  作者: Mango

XPath 节点

在 XPath 表达式中,节点指的是 XML 文档中的一个元素、属性、文本或命名空间节点。XPath 通过路径语法来定位和选择节点,使得程序员可以轻松地遍历 XML 文档并提取需要的信息。本文将详细介绍 XPath 中的节点。

基本节点

XPath 中的基本节点有以下几种:

元素节点

元素节点是 XML 文档中的一个元素。元素节点可以包含其他元素、文本和属性节点。

XPath 中选取元素节点的语法为:

//元素名

例如,选取 XML 文档中的名为 book 的元素节点:

//book
属性节点

属性节点是 XML 文档中元素的一个属性。属性节点没有子节点,但可以拥有属性值。

XPath 中选取属性节点的语法为:

//元素名/@属性名

例如,选取 XML 文档中 book 元素节点的 lang 属性:

//book/@lang
文本节点

文本节点是 XML 文档中元素的文本内容。

XPath 中选取文本节点的语法为:

//元素名/text()

例如,选取 XML 文档中 title 元素节点的文本内容:

//title/text()
命名空间节点

命名空间节点是 XML 文档中命名空间的声明节点。

XPath 中选取命名空间节点的语法为:

//namespace::命名空间前缀

例如,选取 XML 文档中命名空间前缀为 html 的命名空间:

//namespace::html

XPath 轴用于沿着文档树向上或向下移动,以定位与当前节点有特定关系的节点。

XPath 支持以下几种轴:

子轴

子轴选取当前节点的所有子元素。

选取子元素的语法为:

轴名称::*

例如,选取 XML 文档中 book 元素节点的所有子元素:

child::*
父轴

父轴选取当前节点的父元素。

选取父元素的语法为:

轴名称::parent

例如,选取 XML 文档中 book 元素节点的父元素:

parent::bookstore
兄弟轴

兄弟轴选取当前节点的所有兄弟节点,即和当前节点在相同父元素下的所有节点。

选取兄弟节点的语法为:

轴名称::*

例如,选取 XML 文档中 book 元素节点的所有兄弟节点:

following-sibling::*
属性轴

属性轴选取当前节点的所有属性节点。

选取属性节点的语法为:

轴名称::@

例如,选取 XML 文档中 book 元素节点的所有属性节点:

attribute::*
总结

XPath 节点是 XPath 表达式中的基本元素,它们用于定位和选择 XML 文档中的元素、属性、文本和命名空间。XPath 还提供了多种轴,用于根据当前节点与其他节点的关系选取目标节点。程序员可以通过掌握 XPath 节点和轴的使用,轻松地遍历 XML 文档并定位需要的信息。