XPath 语法
XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。
XML 实例文档
我们将在下面的例子中使用这个 XML 文档。
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
选取节点
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
下面列出了最有用的路径表达式:
表达式
描述
nodename |
选取此节点的所有子节点 |
/ |
从根节点选取 |
// |
从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 |
. |
选取当前节点 |
.. |
选取当前节点的父节点 |
@ |
选取属性 |
实例
在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:
路径表达式
结果
bookstore |
选取 bookstore 元素的所有子节点 |
/bookstore |
选取根元素 bookstore
注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
|
bookstore/book |
选取所有属于 bookstore 的子元素的 book 元素。 |
//book |
选取所有 book 子元素,而不管它们在文档中的位置。 |
bookstore//book |
选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。 |
//@lang |
选取所有名为 lang 的属性。 |
谓语(Predicates)
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
谓语被嵌在方括号中。
实例
在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:
路径表达式
结果
/bookstore/book[1] |
选取属于 bookstore 子元素的第一个 book 元素。 |
/bookstore/book[last()] |
选取属于 bookstore 子元素的最后一个 book 元素。 |
/bookstore/book[last()-1] |
选取属于 bookstore 子元素的倒数第二个 book 元素。 |
/bookstore/book[position()<3] |
选取最前面的两个属于 bookstore 元素的子元素的 book 元素。 |
//title[@lang] |
选取所有拥有名为 lang 的属性的 title 元素。 |
//title[@lang='eng'] |
选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。 |
/bookstore/book[price>35.00] |
选取所有 bookstore 元素的 book 元素,且其中的 price 元素的值须大于 35.00。 |
/bookstore/book[price>35.00]/title |
选取所有 bookstore 元素中的 book 元素的 title 元素,且其中的 price 元素的值须大于 35.00。 |
选取未知节点
XPath 通配符可用来选取未知的 XML 元素。
通配符
描述
* |
匹配任何元素节点 |
@* |
匹配任何属性节点 |
node() |
匹配任何类型的节点 |
实例
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
路径表达式
结果
/bookstore/* |
选取 bookstore 元素的所有子节点 |
//* |
选取文档中的所有元素 |
//title[@*] |
选取所有带有属性的 title 元素。 |
选取若干路径
通过在路径表达式中使用“|”运算符,您可以选取若干个路径。
实例
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
路径表达式
结果
//book/title | //book/price |
选取所有 book 元素的 title 和 price 元素。 |
//title | //price |
选取所有文档中的 title 和 price 元素。 |
/bookstore/book/title | //price |
选取所有属于 bookstore 元素的 book 元素的 title 元素,以及文档中所有的 price 元素。 |
分享到:
相关推荐
- **XPath语法**: 在C#中,XPath用于从XML文档中选择节点,提供了简洁的方式来导航XML结构。 2. **ASP.NET框架**: - **asp.net **:这是ASP.NET中定义服务器端代码的标记,用于嵌入VB.NET或C#代码。 - **ASP...
- **XML语法**:包括标签、属性、注释等元素的使用规则。 - **类型与命名空间**:XML文档可以通过定义元素类型和使用命名空间来增强其语义清晰度。 - **是否进行类型声明**:讨论了XML文档是否应该声明其元素类型...
Libxml2是 GNOME 项目的一个组件,是一个强大的、开源的XML解析库,支持多种XML相关的标准,如XPath、XInclude、XPointer、XML Schema和 Relax NG。 **XML的基本概念:** XML文件由一系列的元素构成,每个元素都有...
W3C速查手册是由FengGe整理的一系列关于Web标准和开发的资源,它包含了丰富的W3C相关知识,旨在帮助开发者快速查找和理解Web技术规范。W3C,即万维网联盟(World Wide Web Consortium),是制定Web标准的国际组织,...
1. 格式标准:遵循 XML 的语法规则。 2. 有效性:文档需符合 DTD 或 Schema 规则。 3. 根元素:每个 XML 文档有一个顶级元素,即根元素。 4. 元素嵌套:元素必须正确嵌套,不能交叉或遗漏结束标签。 5. 标签命名:...
4. **格式化**:自动整理XML代码,使其按照标准格式排列,便于阅读。 5. **查找与替换**:支持在整个XML文档中查找和替换文本,这对于大型XML文件尤其有用。 6. **折叠/展开**:允许用户折叠或展开XML元素,以便专注...
本手册是作者根据网络资源综合整理而成,相较于之前的版本,新增了更多内容,覆盖了XSLT的各个方面,旨在提供一个更加全面的参考。 首先,我们来了解一下XSLT的基本概念。XSLT基于XPath,XPath是XML文档中的数据...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JavaServer Pages(JSP)提供了一种简洁而有效的方式来处理常见的Web开发任务。这个`jstl.jar`包就是JSTL的核心库文件,...
只需点击按钮,就能快速检查XML文件是否符合标准,找出潜在的语法错误或遗漏的结束标签,确保文件的正确性。对于需要处理大量XML数据的人来说,这一功能大大提高了工作效率。 NPP XML Tools还包括查找和替换XML节点...
5. **XML格式化**:提供一个“格式化”按钮,使用户可以将杂乱无章的XML代码整理成标准格式。这需要编写代码来处理XML文档的缩进和换行。 6. **保存和加载XML文件**:实现文件菜单中的“打开”和“保存”功能,允许...
验证功能会检查JSON数据是否遵循标准的语法,确保其有效性。如果存在错误,插件还会提供详细的错误信息,帮助开发者迅速修复。 安装这两个插件后,无论是在处理XML文件还是JSON文件时,Notepad++都能成为一个更为...
1. **J2SE**:Java的基础,包括语法、面向对象编程、集合框架、多线程、异常处理、IO流、反射、枚举、泛型等。`final`关键字用于声明不可变对象、方法和类,防止被继承或修改;`finally`块保证了代码的执行,常用于...
- **JS概述**:基于ECMAScript标准,是一种弱类型、解释型、事件驱动的语言,不支持函数重载。 - **JS特点**:具有交互性、安全性、跨平台性。全等运算符`===`用于严格比较,`with`语句和`for...in`循环是其特有的...
- 在 JSP 中使用 XPath 或 XSLT 处理 XML 数据。 - **XML 与 JSP 技术联合的优越性** - **数据交换**:XML 作为数据交换格式,易于被 JSP 处理并展示。 - **灵活性**:JSP 可以根据需要动态生成 XML 内容。 - *...
Oxygen XML Editor是一款功能强大的专业级XML编辑工具,它支持多种XML相关的标准,如XPath、XSLT、XQuery等。这款编辑器提供了一整套的XML编辑、验证、转换和调试工具。其特色包括: - 强大的代码高亮和自动完成,...
它使用XPath表达式来定位元素,性能优于BeautifulSoup,但使用前需要熟悉XPath语法。 #### 数据处理与存储 一旦数据被提取出来,就需要对其进行清洗和整理,以适应后续的分析需求。Python中有许多库可以帮助完成这...
XML文件因其严格的语法和层次结构,往往需要定期进行美化和整理,以保持代码的可读性和易于维护。Sublime Text的XML插件可以自动进行缩进调整、元素对齐以及注释整理,使得原本杂乱无章的XML代码变得井然有序。 2. ...
2. **格式化**:可以将杂乱无章的XML代码整理成标准的缩进格式,便于阅读。 3. **XPath查询**:支持XPath(XML Path Language)查询,允许用户通过简单的语句快速查找和提取XML文档中的特定信息。 4. **XML到HTML...
掌握XPath的基本术语和语法,可以帮助更精确地定位和提取所需元素。 接下来是数据预处理,这部分工作通常在数据被收集后进行,目的是清洗和转化原始数据,使其更适合进一步分析。Pandas是Python中广泛使用的数据...
4. **XPath和XSLT支持**:支持XPath查询语言,让用户能够快速定位和提取XML文档中的特定数据;同时,它还支持XSLT(Extensible Stylesheet Language Transformations),用于转换XML文档,将其转化为其他格式,如...