`
ceasarje
  • 浏览: 79518 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XPath常用表达式

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 选取此节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性


实例解析1:

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果: 路径表达式 结果
bookstore 选取 bookstore 元素的所有子节点
/bookstore
选取根元素 bookstore

注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!

bookstore/book 选取所有属于 bookstore 的子元素的 book 元素。
//book 选取所有 book 子元素,而不管它们在文档中的位置。
bookstore//book 选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。
//@lang 选取所有名为 lang 的属性。


谓语(Predicates)

谓语用来查找某个特定的节点或者包含某个指定的值的节点。

谓语被嵌在方括号中。

实例解析2:

在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果: 路径表达式 结果
/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() 匹配任何类型的节点


实例解析3:

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果
/bookstore/* 选取 bookstore 元素的所有子节点
//* 选取文档中的所有元素
//title[@*] 选取所有带有属性的 title 元素。


选取若干路径

通过在路径表达式中使用“|”运算符,您可以选取若干个路径。

实例解析4:

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果
//book/title | //book/price 选取所有 book 元素的 tilte 和 price 元素。
//title | //price 选取所有文档中的 title 和 price 元素。
/bookstore/book/title | //price 选取所有属于 bookstore 元素的 book 元素的 title 元素,以及文档中所有的 price 元素。

分享到:
评论

相关推荐

    xpath表达式测试小工具

    5. **常见XPath函数支持**:工具可能内置了对一些常用的XPath函数的支持,如`count()`、`concat()`、`substring()`等,用户可以直接在表达式中调用。 6. **版本兼容性**:XPath有1.0和2.0等多个版本,工具可能需要...

    XmlHelper XPath路径表达式选取XML节点

    XPath路径表达式选取XML节点.doc 为XML中常用属性说明 XmlHelper.CS 一个类文件 包括对XML 文件的常规操作 xml字符串转换为dataTable DataTable 转换为xml 找出所有与pPath匹配路径的节点创建dataTable,并设置...

    xpath-helper

    7. **便捷保存和分享**: 用户还可以保存常用的XPath表达式,以便于后续使用,或者分享给团队成员,提升团队协作效率。 8. **学习资源**: 除了作为实用工具,XPath Helper还可以作为一个学习XPath的辅助工具,通过...

    谷歌浏览器插件 xpath helper

    3. **保存常用查询**:可以保存常用的XPath表达式,方便日后重复使用。 4. **复制结果**:轻松复制选取的元素的文本内容或XPath路径,便于进一步处理。 5. **兼容性**:除了HTML,XPath Helper也支持XML文档的查询,...

    XPath Helper:chrome爬虫网页解析工具

    7. **保存和导出**:在进行大量网页解析工作时,XPath Helper允许你保存常用的XPath表达式,方便日后复用。也可以将查询结果导出为文本或CSV文件,便于进一步分析。 总的来说,XPath Helper是Chrome爬虫开发者的...

    xpath插件.zip

    - 存储和重用:用户可能能保存常用的XPath表达式,便于在不同场合复用。 4. 文件分析: - "说明.txt":通常会包含插件的安装说明、使用教程、常见问题解答等内容。 - "xpath.crx":这是一个Chrome浏览器扩展文件...

    最新xpathhelper2_0_2

    4. 编辑与保存:用户可以编辑XPath表达式,并保存常用的XPath供后续使用,提高工作效率。 5. 支持XPath 1.0和XPath 2.0:满足不同场景下对XPath版本的需求。 6. 代码高亮和语法提示:增强用户体验,降低出错概率。 7...

    XPath依赖Jar包

    3. 函数和运算符:XPath提供了一系列内置函数,如字符串处理函数、数值比较函数等,以及常用的逻辑运算符(and、or)、比较运算符(=、!=、&lt;、&gt;等)和算术运算符(+、-、*、/等)。 4. 变量和命名空间:XPath允许...

    xpath helper

    可以保存常用的XPath表达式供后续使用;还可以在结果集中上下导航,方便检查每一个匹配的节点。 总的来说,XPath Helper是谷歌浏览器中一个强大的辅助工具,对于理解和使用XPath的人来说,它能提高工作效率,减少...

    谷歌xpath插件

    - **自动化测试**:在Selenium WebDriver等自动化测试框架中,XPath是定位网页元素的常用方式,因为它提供了灵活且强大的定位能力。 - **数据抓取**:在网页抓取(Web Scraping)项目中,XPath用于从HTML文档中提取...

    xpath_helper_2_0_2.zip

    9. **保存和分享**:用户可能能够保存常用的XPath表达式,甚至将其分享给团队成员,提高协作效率。 10. **更新日志**:通常,每个版本的发布都会伴随更新日志,详细列出新功能、改进和已知问题的修复,用户可以通过...

    JS中常用的xpath特性

    这个XPath表达式选取`accesstype`属性值为3的所有`dir`子元素,`@accesstype`代表属性`accesstype`。 5. **选取索引位置的元素**: ```javascript Dom.documentElement.selectNodes("server[postion() =1]/dir")...

    xpath_helper-master.rar

    在网页抓取过程中,XPath常用来定位网页上的特定元素,从而提取所需数据。 标题"xpath_helper-master.rar"表明这是一个关于XPath Helper的项目或资源包,可能包含了源代码、文档或者安装文件。"master"通常表示这是...

    xpath viewer.rar

    XPath Viewer是一款专为学习和调试XPath表达式设计的工具,可以帮助用户更好地理解和应用XPath语言。 首先,我们要理解XML,它是eXtensible Markup Language的缩写,是一种用于标记数据的语言,允许我们在数据中...

    正则表达式基础.zip

    在提供的文件列表中,`正则表达式基础.py`可能是包含正则表达式相关的Python代码示例,`XPath表达式基础实战.py`同样可能包含XPath的实际应用。`正则表达式基础.md`和`XPath表达式基础实战.md`可能是Markdown格式的...

    xpath的语法

    在网页自动化测试中,XPath是Selenium常用的一种定位元素的方法。 XPath语法的核心概念包括: 1. **节点类型**:XPath中的节点包括元素(element)、属性(attribute)、文本(text)、命名空间(namespace)、...

    从XML文件抽出XPath - C and C++

    XPath使用路径表达式来选取节点,类似于我们在网页浏览器中输入URL来访问特定页面的方式。在这个主题中,我们将深入探讨如何在C和C++中使用XPath来解析XML文件。 首先,让我们了解C++中处理XML文件的基本步骤。C++...

    xpath_helper.zip

    6. **保存与重用**:可能支持保存常用的XPath表达式,方便在多个项目中复用。 对于初学者来说,XPath Helper是一个很好的学习工具,能提高工作效率。使用时,要理解XPath的基本概念,掌握路径表达式和选择符,然后...

    xpath helper.zip

    在爬虫编程中,XPath是常用的网页解析工具。例如,Python的BeautifulSoup库和lxml库都支持XPath查询。通过XPath,您可以编写表达式来提取特定的HTML标签、属性或文本内容。XPath Helper可以帮助您在编写爬虫脚本时,...

Global site tag (gtag.js) - Google Analytics