`

Xpath

XML 
阅读更多
XPath使用路径表达式去确定XML文档中的节点。

我们将利用下面的XML文档描述XPath语法

<?xml version="1.0" encoding="GB2312"?>

<order>
  <item catalog="parts">
    <itemNumber>C2688-67037</itemNumber>
    <description>LCD液晶显示器</description>
    <quantity>1</quantity>
    <price>358.00</price>
  </item>
    <item catalog="parts">
    <itemNumber>C2688-67061</itemNumber>
    <description>音箱</description>
    <quantity>1</quantity>
    <price>16.50</price>
  </item>
    <item catalog="parts">
    <itemNumber>C2688-67010</itemNumber>
    <description>鼠标</description>
    <quantity>1</quantity>
    <price>8.50</price>
  </item>
</order>

节点定位:

XML文挡可以表示为树结构节点形式
XPath使用模式表达式识别XML文档的节点。

一个XPath的模式是使用反斜杠“/”分开子元素名称描述路径

下面的XPath表达式选择元素order下元素item中的所有price元素
/order/item/price

注释:用“/”路径开始代表元素的绝对路径.

不用“/”路径开始代表元素的相对路径

item/price

用“//”路径开始代表整个文档满足条件的所有元素

下面的XPath表达式选择文档中所有的item元素
//item

选择未知元素

通配符 “*”可用于选择未知XML元素

下面的XPath表达式选择元素order中的所有item元素所属的子元素

/order/item/*

下面的XPath表达式选择元素order下所有孙子辈的price元素
/order/*/price

下面的XPath表达式选择所有具有两个祖先的price元素
/*/*/price

下面的XPath表达式选择文档所有元素
//*

选择分支

使用方括号[]可以指定特定的元素

下面的XPath表达式选择元素order中的第一个item的子元素

/order/item[1]

下面的XPath表达式选择元素order中的最后一个item的子元素
/order/item[last()]

下面的XPath表达式选择元素order中具有price元素的item元素
/order/item[price]

下面的XPath表达式,从元素order中选择具有price等于12.60元素的item元素
/order/item[price=16.50]

下面的XPath表达式,从隶属于元素order的item元素中选择具有price等于12.60元素的price元素
/order/item[price=16.50]/price

选择几个路径

在XPath表达式中,使用 "|" 运算符可以选择几个路径 。实质上是逻辑“与”操作

下面的XPath表达式,从隶属于order的item元素中选择所有itemNumber 和description 元素
/order/item/itemNumber | /order/item/description


下面的XPath表达式,从文档中选择所有itemNumber 和description 元素
//itemNumber | //description

下面的XPath表达式,从文档中选择所有itemNumber ,description和price 元素
//itemNumber | //description | //price

下面的XPath表达式,选取属于order中item下所有itemNumber元素和从文档中选择所有description元素
/order/item/itemnumber | //description

选择属性
在XPath中,所有属性使用@前缀

下面的XPath表达式,选取所有名为catalog的属性
//@catalog


下面的XPath表达式,选取所有具有catalog属性的item元素
//item[@catalog]

下面的XPath表达式,选取所有具有任何属性的item元素
//item[@*]

下面的XPath表达式,选取所有具有catalog等于"parts"属性的item元素
//item[@catalog="parts"]

分享到:
评论

相关推荐

    Xpath生成器,自动生成XPATH,C#版

    XPath(XML Path Language)是一种在XML文档中查找信息的语言,它是W3C组织制定的一种标准查询语言,用于选取XML文档中的节点,包括元素、属性、文本等。在本项目“Xpath生成器,自动生成XPATH,C#版”中,开发者...

    IE下获取XPATH小工具源码_xpath_

    XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来选取XML文档中的节点,如元素、属性、文本等。在IE浏览器下,为了方便开发者获取XML或HTML文档中的XPath路径,存在一种小工具,本文将...

    xpath-helper.zip

    本压缩包文件"xpath-helper.crx"很可能是一个Chrome浏览器的扩展程序,旨在提供实时的XPath查询支持。 XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许我们通过路径表达式来选取节点,如元素、...

    Xpath生成器,自动生成可用的Xpath。

    Xpath生成器,可以通过输入的文件,进行匹配,生成全部可用的Xpath,犹豫HTML中部分标签允许无结束,如:("LINK" ,"META","SCRIPT","IMG" ,"INPUT", "FORM")故已经被忽略,如有朋友发现其中有问题,请告诉我哦...

    XPath Helper版本2.0.2

    XPath Helper是一款非常实用的工具,尤其对于Web开发者和数据抓取者来说,它极大地简化了在网页中查找和提取信息的过程。版本2.0.2是这个插件的一个更新,旨在提供更稳定、高效的功能。XPath(XML Path Language)是...

    火狐老版本+xpath插件(适合python+xpath爬虫使用)

    火狐老版本与XPath插件的组合在Python网络爬虫领域具有重要的应用价值。XPath是一种在XML文档中查找信息的语言,对于数据提取和解析尤其有效。在这个压缩包中,我们找到了火狐的老版本浏览器和一个专门针对XPath的...

    xpath的jar包

    XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来允许对XML文档中的元素、属性和其他节点进行快速定位。XPath使用路径表达式来选取XML文档中的节点,这些路径表达式类似于我们在文件...

    谷歌浏览器XPath2.0插件

    XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许我们通过路径表达式来选取节点,比如元素、属性和文本等。XPath 2.0是XPath的第二个主要版本,增加了更多的功能和优化。 在没有XPath Helper的...

    XPathHelper_2.0.2.zip

    XPathHelper_2.0.2.zip 是一个包含XPath Helper Chrome扩展程序的压缩文件,版本为2.0.2。XPath Helper是一款非常实用的工具,它专为Chrome浏览器设计,帮助开发者和网页爬虫工程师高效地测试和调试XPath表达式。...

    xpath-helper 插件及使用方法

    XPath Helper是一款强大的Chrome浏览器插件,专为网页元素定位和数据提取而设计。它使得开发者和数据抓取者能够方便地生成和测试XPath表达式,从而高效地在HTML文档中定位所需信息。XPath(XML Path Language)是一...

    xpath 依赖包及开发手册

    XPath是XML处理中的一种强大的查询语言,用于在XML文档中查找特定的信息。它允许开发者根据节点的名称、属性、值甚至是它们之间的关系来定位XML数据。在这个“xpath 依赖包及开发手册”中,我们主要关注XPath的使用...

    XPath Helper 2.0.2网页插件

    XPath Helper 2.0.2 是一款非常实用的网页插件,主要针对的是网页数据抓取和解析领域。XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许我们通过路径表达式来选取XML文档中的节点,包括元素、...

    XPath教程(描述XPath的用法)

    XPath是一种在XML文档中查找信息的语言,用于选取XML文档中的节点,包括元素、属性、文本等。XPath基于路径表达式来选取XML文档中的节点,这些路径表达式类似于文件系统的路径,但更为灵活。 1. **XPath的基本概念*...

    查看网页元素的xpath

    XPath 使用路径表达式来选取节点,如元素、属性、文本等。本篇文章将详细探讨如何查看网页元素的 XPath,并介绍其相关知识点。 首先,XPath 的基本概念: 1. **节点**:在 XML 或 HTML 文档中,节点可以是元素(如...

    chrome_Xpath_v2.0.2.zip

    Chrome_Xpath_v2.0.2.zip 是一个用于谷歌浏览器(Chrome)的扩展程序,它主要服务于网页数据抓取和数据分析。Xpath 是 XML Path Language 的缩写,是一种在XML文档中查找信息的语言,同时也被广泛应用于HTML页面的...

    dom4j和xpath必备jar包

    在Java开发中,DOM4J和XPath是两个重要的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、配置文件和文档结构化存储。DOM4J和XPath则提供了方便的方式来解析、操作和检索XML文档...

    ff30 firebug2.0.2 xpath checker0.4.4

    FF30 Firebug 2.0.2与XPath Checker 0.4.4是针对Firefox 30浏览器的两款重要扩展。Firebug是一款强大的Web开发工具,而XPath Checker则是一款用于验证XPath表达式的实用工具。这两款扩展在开发和调试网页时提供了...

    JDOM中XPath.selectNodes()和XPath.selectSingleNode()用法

    XPath是一种强大的查询语言,用于在XML文档中定位元素、属性和其他节点。本文将深入探讨JDOM库中XPath的相关方法——`selectNodes()`和`selectSingleNode()`,以及它们的用法。 首先,我们来理解JDOM的基本概念。...

    对Xpath 获取子标签下所有文本的方法详解

    XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被广泛应用于Web抓取,特别是Python的Scrapy框架中,用于选取XML或HTML文档中的节点。本文将深入探讨如何使用XPath来获取子标签下的所有文本内容...

    Java中使用xpath获取xml中的数据

    在Java编程环境中,XPath是一种强大的查询语言,用于在XML文档中查找信息。它允许我们根据节点的名称、属性、值或其他特性来定位XML文档中的特定部分。本篇将深入探讨如何在Java中利用XPath来提取XML文档中的数据,...

Global site tag (gtag.js) - Google Analytics