📅  最后修改于: 2023-12-03 14:48:39.319000             🧑  作者: Mango
在 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 文档并定位需要的信息。