美文网首页
Xpath基础运用

Xpath基础运用

作者: 下雨天的小蚂蚁 | 来源:发表于2020-02-18 12:38 被阅读0次

我们将在下面的例子中使用这个 XML 文档。

<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 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

使用chrome插件选择标签时候,选中时,选中的标签会添加属性class="xh-highlight"

下面列出了最有用的表达式:

表达式描述

nodename选中该元素。

/从根节点选取、或者是元素和元素间的过渡。

//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

.选取当前节点。

..选取当前节点的父节点。

@选取属性。

text()选取文本。

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

路径表达式结果

bookstore选择bookstore元素。

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

bookstore/book选取属于 bookstore 的子元素的所有 book 元素。

//book选取所有 book 子元素,而不管它们在文档中的位置。

bookstore//book选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。

//book/title/@lang选择所有的book下面的title中的lang属性的值。

//book/title/text()选择所有的book下面的title的文本。

6.2 查找特定的节点

路径表达式结果

//title[@lang="eng"]选择lang属性值为eng的所有title元素

/bookstore/book[1]选取属于 bookstore 子元素的第一个 book 元素。

/bookstore/book[last()]选取属于 bookstore 子元素的最后一个 book 元素。

/bookstore/book[last()-1]选取属于 bookstore 子元素的倒数第二个 book 元素。

/bookstore/book[position()>1]选择bookstore下面的book元素,从第二个开始选择

//book/title[text()='Harry Potter']选择所有book下的title元素,仅仅选择文本为Harry Potter的title元素

/bookstore/book[price>35.00]/title选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

XPath 通配符可用来选取未知的 XML 元素。

通配符描述

*匹配任何元素节点。

@*匹配任何属性节点。

node()匹配任何类型的节点。

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

实例

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式结果

//book/title | //book/price选取 book 元素的所有 title 和 price 元素。

//title | //price选取文档中的所有 title 和 price 元素。

/bookstore/book/title | //price选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。

小结

xpath的概述XPath (XML Path Language),解析查找提取信息的语言

xml是和服务器交互的数据格式和json的作用一致

html是浏览器解析标签数据显示给用户

xpath的节点关系:根节点,子节点,父节点,兄弟节点,子节点,后代节点

xpath的重点语法获取任意节点://

xpath的重点语法根据属性获取节点:标签[@属性 = '值']

xpath的获取节点属性值:@属性值

xpath的获取节点文本值:text()

相关文章

  • Xpath基础运用

    我们将在下面的例子中使用这个 XML 文档。 Harry Potter 29.99 Learning ...

  • Python爬虫学习7-xpath使用

    以网页http://blog.jobbole.com/110691/为例提取: xpath基础知识: xpath节...

  • selenium使用Xpath+JavaScript+jQuer

    我们先了解一下Xpath基础语法,如下: xpath常用函数: 一.Xpath的定位方法(复制路径的定位经常会经常...

  • AppiumLibrary获取元素-xpath

    AppiumLibrary的获取元素基础方法和api见官方文档 xpath: appium里的xpath也是遵循x...

  • XPath技术

    主要用于快速的获取所需节点对象 如何在Dom4j中运用xpath技术: 1.导包:导入xpath支持的jar包:j...

  • XPath基础语法

    路径表达式 nodename 选取此节点的所有子节点 /从根节点选取 //从匹配的当前节点选取文档中所有节点,不考...

  • XPath 基础学习

    1、准备学习 在爬虫过程中,需要提取需要的元素,本文介绍了两种XPath方式: 1.1、Chrome consol...

  • Xpath解析基础

    一些简单的xpath解析

  • XPath选择器运用

    lxml 可以自动修正 html 代码,例子里不仅补全了 li 标签,还添加了 body,html 标签。 文件读...

  • 爬虫(七)使用Selenium爬取百度文库word文章

    目录 前言 问题分析 Selenium简介 Selenium安装 Selenium基础知识 Xpath 动手实战 ...

网友评论

      本文标题:Xpath基础运用

      本文链接:https://www.haomeiwen.com/subject/aulgfhtx.html