XPath 节点
XPath 节点技术文档
1. 什么是 XPath 节点?
XPath 节点是 XML 文档中的元素、属性、文本或命名空间的基本单元。每个节点在 XML 中拥有唯一的标识符。通过 XPath 表达式可以选择并操作这些节点,从而达到定位节点、筛选节点以及提取节点信息的目的。
2. XPath 节点分类
XPath 节点可分为以下三类:
2.1.元素节点
元素节点是指 XML 文档中拥有标签和内容的节点,也就是 DOM 中的 element 节点。例如下面的 XML 文档中的 <book>
就是一个元素节点:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J.K. Rowling</author>
<price>29.99</price>
</book>
</bookstore>
2.2.属性节点
属性节点是指 XML 文档中的属性,它们是元素节点的补充信息。例如下面的 XML 文档中,<book>
元素有三个属性:id
、lang
和 edition
,这些属性就是属性节点。
<bookstore>
<book id="101" lang="en" edition="1st">
<title>Harry Potter</title>
<author>J.K. Rowling</author>
<price>29.99</price>
</book>
</bookstore>
2.3.文本节点
文本节点是指 XML 文档中的内容,它们是元素节点的子节点。例如下面的 XML 文档中,<title>
、<author>
和 <price>
都是文本节点。
<bookstore>
<book id="101" lang="en" edition="1st">
<title>Harry Potter</title>
<author>J.K. Rowling</author>
<price>29.99</price>
</book>
</bookstore>
3. 节点选择器
XPath 提供了一系列的节点选择器,可以根据节点类型、节点名称、节点关系以及节点特性进行节点选择。以下是一些常用的节点选择器:
3.1.选择所有节点
XPath 中使用 *
表示选择所有节点。例如,/bookstore/*
表示选择 <book>
元素节点。
/bookstore/*
3.2.选择当前节点
XPath 中使用 .
表示选择当前节点。例如,/bookstore/book/author/..
表示选择 <author>
的父节点,也就是 <book>
。
/bookstore/book/author/..
3.3.按名称选择节点
XPath 中使用节点名称来选择节点。例如,//book
表示选择文档中所有 <book>
元素节点。
//book
3.4.按位置选择节点
XPath 中使用位置来选择节点。例如,(//book)[1]
表示选择文档中第一个 <book>
元素节点。
(//book)[1]
3.5.按特性选择节点
XPath 中使用节点特性来选择节点。例如,/bookstore/book[@lang="en"]
表示选择所有语言属性为 “en” 的 <book>
元素节点。
/bookstore/book[@lang="en"]
4. 总结
XPath 节点是 XML 文档中的基本单元,包括元素节点、属性节点和文本节点三种类型。XPath 提供了一系列的节点选择器,可以根据不同的节点信息进行选择,常用的节点选择器包括选择所有节点、选择当前节点、按名称选择节点、按位置选择节点和按特性选择节点。掌握这些知识可以更好地操作 XML 文档,并以此为基础掌握更高级的 XML 技术。