一、结点类型
XPath中有七种结点类型:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或成为根节点)。
文档的根节点即是文档结点;对应属性有属性结点,元素有元素结点。
二、常用路径表达式
表达式
描述
nodename |
选取此节点的所有子节点 |
/ |
从根节点选取 |
// |
从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 |
. |
选取当前节点 |
.. |
选取当前节点的父节点 |
@ |
选取属性 |
例如有文档:
<?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>
则:
路径表达式
结果
bookstore |
选取 bookstore 元素的所有子节点 |
/bookstore |
选取根元素 bookstore
注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
|
bookstore/book |
选取所有属于 bookstore 的子元素的 book 元素。 |
//book |
选取所有 book 子元素,而不管它们在文档中的位置。 |
bookstore//book |
选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。 |
//@lang |
选取所有名为 lang 的属性。 |
三、限定语
用来查找某个特定的节点或者包含某个指定的值的节点。以方括号括起。例如:
路径表达式
结果
/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。 |
四、通配符
通配符
描述
* |
匹配任何元素节点 |
@* |
匹配任何属性节点 |
node() |
匹配任何类型的节点 |
| 选取若干路径
例如:
路径表达式
结果
/bookstore/* |
选取 bookstore 元素的所有子节点 |
//* |
选取文档中的所有元素 |
//title[@*] |
选取所有带有属性的 title 元素。 |
//book/title | //book/price |
选取所有 book 元素的 tilte 和 price 元素。 |
//title | //price |
选取所有文档中的 title 和 price 元素。 |
/bookstore/book/title | //price |
选取所有属于 bookstore 元素的 book 元素的 title 元素,以及文档中所有的 price 元素。 |
分享到:
相关推荐
1) XPath 使用路径表达式在 XML 文档中进行导航 2) XPath 是一个 W3C 标准 3) XPath 包含一个标准函数库 4) XPath 是 XSLT 中的主要元素
中文名: XSLT与XPath入门:转换XML文档与数据 原名: Beginning XSLT and XPath: Transforming XML Documents and Data 作者: Ian Williams资源格式: PDF 版本: 文字版 出版社: Wrox书号: 0470477253发行时间: 2009年...
XPath介绍-图文版;自己整理的,原文在这里:http://www.w3pop.com/learn/view/p/1/o/0/doc/xpath_intro/
文章目录Xpath 的使用lxml 库Xpath 简介Xpath 语法实例应用Xpath 节点所有节点子节点父节点属性单值匹配多值匹配多属性匹配获取属性文本获取Xpath 轴小结 Xpath 的使用 正则表达式 笔记整理 Python requests 模块 ...
简介:帮助您在开发者工具面板里,轻松地提取,编辑和分析XPath, 。 功能说明:1. 首先,需要先打开开发者工具面板 (按F12); 2. 在开发者面板里,找到"xPath Finder"选项卡,点击打开; 3. 在xPath Finder面板里...
XPath 教程 简介 XPath由W3C的XPath 1.0 标准描述.本教程通过实例来展示XPath的一些特性. 你可以从以下内容开始: •实例 1 或者从左边的索引开始
一、XMl简介 (一)什么是 XML XML 指可扩展标记语言(EXtensible) XML 是一种标记语言,很类似 HTML。 XML 的设计宗旨是传输数据,而非显示数据。 XML 的标签需要我们自行定义。 XML 被设计为具有自我描述性。 XML...
xpath是一种在xm文档中定位的语言,详细简介,请自行参照百度百科,本文主要总结一下xpath的使用方法,个人看法,如有不足和错误,敬请指出。 注意:xpath的定位 同一级别的多个标签 索引从1开始 而不是0 1. 绝对...
1.简介 XPath是一门在XML和HTML文档中查找信息的语言,可以用来在XML和HTML文档中对元素和属性进行遍历 XPath的安装 Chrome插件XPath Helper 点Chrome浏览器右上角:更多工具—–扩展程序—–谷歌商店——–勾选...
XPath 简介 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。 在学习之前应该具备的知识: 在您继续学习之前,应该对下面的知识有基本的了解: • HTML / XHTML • XML ...
为了在java里也享受xpath的强大与方便但又苦于找不到一款足够好用的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便, 支持完备的W3C XPATH 1.0标准语法,W3C规范: ,Jso
Dom4j_使用简介DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java ...
1. Python爬虫简介与环境安装 - Pythonn环境 - Selenium安装 - Python相关包 2. 基本库的使用 - 爬虫基本原理; - urlib库使用; - requests库使用; - bs4使用; - xpath和lxml使用; - selenium使用; -...
lxml 是一种使用 Python 编写的库,可以迅速、灵活地处理 XML 和 HTML。 它支持 XML Path Language (XPath) 和 Extensible Stylesheet Language Transformation (XSLT),并且实现了常见的 ElementTree API。 关于更...
DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: ...Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。 DOM4J使用起来非常简单。
Dom4j 是一个易用的、开源的库,用于 XML,XPath 和 XSLT。它应用于 Java 平 台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP
1.Selenium私房菜系列1 -- Selenium简介 2.Selenium私房菜系列2 -- XPath的使用 3.Selenium私房菜系列3 -- Selenium API参考手册 4.Selenium私房菜系列4 -- Selenium IDE的使用 5.Selenium私房菜系列5 -- 第一个...
XPath Helper 是一个功能类似于爬虫的扩展插件,通过编写爬虫脚本,可以实现简单的页面内容批量爬取等功能。重要提示:安装此扩展后,必须重新启动Chrome,才会生效。 【插件相关文章】 XPath Helper 完成Bing...
使用 lxml库 和 XPath 解析页面 爬取电影海报图片 使用 pandas库 将电影的相关信息存储为csv文件 添加循环,保存所有图片以及相关信息 首先,我们构建一个框架来获取豆瓣电影的HTML页面: import requests # 获取...