首页 > 其他 > 详细

XPath语法和lxml模块

时间:2019-08-13 09:46:03      阅读:103      评论:0      收藏:0      [点我收藏+]

什么是XPath?

xpath (xml path language)是一门xml 和html文档中查找信息的语言,可以用来在xml和html中对元素和属性进行遍历

 

XPath开发工具

  1. Chrome插件 XPath Helper
  2. Firefox插件 XPath Checker

XPath语法

选取节点:

XPath 使用路径表达式来选取xml文档中的节点或者节点集,这些路径表达式和我们在常规电脑文件系统中看到的表达式非常相似。

 

表达式 描述 实例 结果
nodename 选取此节点的所有子节点 bookstore 选取bookstore下所有子节点
/

若在最前面代表从根目录选取,

否者代表某个节点下的某个节点

/bookstore 选取根目录下所有的bookstore节点
// 全局节点中选取节点 //book 从全局节点中找到所有的book节点
@ 选取某个节点属性 //book[@price] 选取所有book节点的price属性

 

谓语(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语法和lxml模块

原文:https://www.cnblogs.com/toling/p/11343642.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!