《数据采集技术》课件-XPath 解析库_第1页
《数据采集技术》课件-XPath 解析库_第2页
《数据采集技术》课件-XPath 解析库_第3页
《数据采集技术》课件-XPath 解析库_第4页
《数据采集技术》课件-XPath 解析库_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XPath解析库Contents知识目标掌握XPath使用方法技能目标提高数据采集和处理能力素养目标培养良好的信息素养和道德意识XPath简介XPath(XMLPath)是一种查询语言也称为XML路径语言,功能:XMLHTML树状结构中寻找结点确定XML文档中某部分位置。XPath简介XPath使用路径表达式选取:XPath(XMLPath)是一种查询语言中的节点或者节点集XML文档这些路径表达式代表着从一个节点到另一个或者一组节点的顺序,并以“/”字符进行分隔。XPath简介XML文档中的节点例子:示例1<?xmlversion="1.0"encoding="UTF-8"?><bookstore><book><titlelang="en">毛泽东选集</title><price>29.99</price></book><book><titlelang="en">LearningXML</title><price>39.95</price></book></bookstore>XML<bookstore>(文档节点)<price>29.99</price>(元素节点)lang="en"(属性节点)路径表达式:/<bookstore>/<book>/<price>XML文档被作为节点树来对待。树的根被称为文档节点或者根节点。XPath简介节点是通过沿着路径来选取的。下面列出了常用的路径表达式:XPath使用路径表达式在XML文档中选取节点表达式说明nodename选取nodename节点的所有子节点/从当前节点选取直接子节点//从当前节点选取子孙节点.选取当前节点..选取当前节点的父节点@选取属性父节点表示当前节点的上一层节点,子节点表示当前节点的下一层节点。子孙节点表示当前节点的所有下层节点。说明XPath简介示例2<?xmlversion="1.0"encoding="UTF-8"?><bookstore><book><titlelang="en">HarryPotter</title><price>29.99</price></book><book><titlelang="en">LearningXML</title><price>39.95</price></book></bookstore>XML路径表达式结果bookstore选取bookstore元素的所有子节点。/bookstore选取根元素bookstore。注释:假如路径起始于正斜杠(/),则此路径始终代表到某元素的绝对路径!bookstore/book选取属于bookstore的子元素的所有book元素。//book选取所有book子元素,而不管它们在文档中的位置。bookstore//book选择属于bookstore元素的后代的所有book元素,而不管它们位于bookstore之下的什么位置。//@lang选取名为lang的所有属性。列出一些路径表达式以及表达式的结果:谓语(Predicates)谓语用来查找某个特定的节点或者包含某个指定的值的节点。谓语被嵌在方括号中。谓语(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中提供的功能函数进行模糊搜索,具体函数如表所示。功能函数

示例说明starts-with//div[starts-with(@id,”co”)]选取id值以co开头的div节点contains//div[contains(@id,”co”)]选取id值包含co的div节点and//div[contains(@id,”co”)andcontains(@id,”en”)]选取id值包含co和en的div节点text()//li[contains(text(),”first”)]选取节点文本包含first的div节点XPath开发工具Python提供了一些好用的插件或工具,方便开发者定位和获取XPath路径,主要包含如下几种:1.XMLQuire开源的XPath表达式编辑工具2.XPathHelper适用于Chrome浏览器3.XPathChecker使用于Firefox浏览器方便网页分析的工具:实战案例浏览器(以谷歌为例)添加XPathHelper插件使用谷歌浏览器,打开设置(Settings)。点击扩展(Extensions)。打开开发者模式(Developermode)。加载已解压的扩展程序。点击地址栏右侧的“”图标,打开XPathHelper工具。12345本讲小结1XPath的介绍、基本使用方法及相关函数2XPath课程案例实战课后作业使用XPath表达式从给定的XML文档中提取所有订单号。XML文档如下:<orders><order><orderNumber>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论