`

XPath 语法规则

    博客分类:
  • java
XML 
阅读更多

XPath 语法规则

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 语法生成器(插件).zip

    爬虫xpath 应用于浏览器的一个插件,便于帮助书写xpath路径

    XML、XHTML、XPath介绍

    这是本人在公司培训时做的一个PPT文档,分别介绍了xml、xhtml、xpath的语法规则,以及相互之前的区别、使用场景、扩展

    中国News爬虫带数据库.zip

    采用Python开发语言scrapy网络爬虫框架编写,实现rules规则限定初始链接的爬取区域,xpath语法提取网页数据,可成功运行,希望能为刚开始学习爬虫的人提供参考!

    C#WPF爬虫示例程序

    爬虫协议介绍,以及它的语法规则; C#如何获取网站的爬虫协议; C#中如何解析爬虫协议; 法律相关 抓取网页 HttpWebRequest类的使用 HttpClient类的使用 获取指定url的IP地址 获取指定url的网页头信息 如何从网页源码...

    Web Services 教程

    XQuery 的基础语法规则: 60 XQuery 条件表达式 60 XQuery 比较 61 XQuery 添加元素和属性 61 XML 实例文档 61 向结果添加元素和属性 61 XQuery 选择和过滤 64 XML实例文档 64 选择和过滤元素 65 XQuery 函数 68 ...

    AMR整站下载器 V3.2.rar

    支持Xpath语法替换、删除、增加或修改节点元素;  9. 可以使用本程序帮助企业站生成静态,提高企业站安全性:一般动态网站,可以外挂本程序自动生成静态页,静态页可按照设置定时更新;  10. 支持代理服务器采集...

    最新vRules4j-2.1.2-b20090622.zip下载

    校验条件的谓词支持标准java语言语法. 规则文件可以组织重用.(includes功能) 内置vRules4j-Digester工具帮助生成相应的对象校验规则文件. 应用简单,与本地程序耦合度极低. 用户可注册定制自己想要的校验失败后返回的...

    论文研究-C代码缺陷自动检测工具的研究与实现.pdf

    为了有效查找这些缺陷,探讨了可定制缺陷规则的C 代码缺陷自动检测技术,介绍了两种缺陷定位方法,给出了一种基于XPath技术的缺陷规则定制方法,设计并实现了一种代码缺陷自动检测工具CDD(C defect detector),并...

    AMR采集系统(原万用小偷程序) v3.1

    支持Xpath语法替换、删除、增加或修改节点元素; 10. 支持RSS订阅源的自定义调用:程序内置了百度风云榜调用规则,可以轻松在网页任何位置显示百度风云榜,并形成站内聚合搜索; 11. 支持站内聚合搜索:站内聚合...

    speech-rule-engine:生成XML结构的语音描述

    语音规则引擎(SRE)可以根据可以使用Xpath表达式在语法中指定的规则将XML表达式转换为语音字符串。 它最初旨在为ChromeVox屏幕阅读器翻译MathML和MathJax DOM元素。 除了最初为在ChromeVox中使用而设计的规则外,它...

    xwcps:EarthServer Project的xwcps组件

    xWCPS遵循FLWOR表达式范例,并提供适当的占位符,这些占位符使任何XPath或WCPS或组合查询都可以用其语法表示。 XPath子句处理XML文档中存储的元数据的特定部分。 xWCPS EBNF 就EBNF而言,xWCPS的顶级生产规则说明...

    XML 讲解和分析

     这些规则使得开发一个XML解析器要简便得多,而且也除去了解析SGML中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL...

    apache-commons源码及jar文件

    Commons-JXPath 提供了使用Xpath语法操纵符合Java类命名规范的 JavaBeans的工具。也支持 maps, DOM 和其他对象模型。. Lang Commons-Lang 提供了许多许多通用的工具类集,提供了一些java.lang中类的扩展功能 Latka...

    day023-xml解析笔记和代码.rar

    概念:就是限制一个XML文件中标签和属性等的使用,只能按照某种规则书写 便于其他程序员学习。 2. 作用: 1. 代码校验 2. 代码提示 3. 利于达成共识形成规范 3. 约束分类: 1. DTD...

    Python网贷之家里面的资讯spider爬虫存储到MySQL

    运行环境:Python3.6.4,scrapy,MySQL,运行软件:pycharm,案例等级:初级,涉及语法:Python,xpath 网贷之家爬取资讯模块爬虫,存储到MySQL数据库,运行可用,案例中是存储到本地localhost数据库,可用更改到任意...

    AMR超级站群系统 v1.1.rar

    支持Xpath语法替换、删除、增加或修改节点元素; 10.支持RSS订阅源的自定义调用:程序内置了百度风云榜调用规则,可以轻松在网页任何位置显示百度风云榜,并形成站内聚合搜索; 11.支持站内聚合搜索:站内聚合搜索...

    AMR整站下载器网站源码 v3.2

    支持Xpath语法替换、删除、增加或修改节点元素; 9. 可以使用本程序帮助企业站生成静态,提高企业站安全性:一般动态网站,可以外挂本程序自动生成静态页,静态页可按照设置定时更新; 10. 支持代理服务器采集,避免...

    XML入门经典(第4版).part4.rar

    主要内容有XML基本语法、DTD、XML Schema、RELAX NG、XPath、XSLT、XQuery、DOM、SAX、RSS、Web服务、Ajax、SOAP、CSS、XHTML、SVG和XForms等,每章都有习题,书后附有参考答案,可帮助你全面掌握XML及其应用方法。

    XML入门经典(第4版).part3.rar

    主要内容有XML基本语法、DTD、XML Schema、RELAX NG、XPath、XSLT、XQuery、DOM、SAX、RSS、Web服务、Ajax、SOAP、CSS、XHTML、SVG和XForms等,每章都有习题,书后附有参考答案,可帮助你全面掌握XML及其应用方法。

Global site tag (gtag.js) - Google Analytics