`

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"]

分享到:
评论

相关推荐

    Python爬虫Chrome网页解析工具-XPath Helper插件

    在Python爬虫开发中,XPath Helper是一款非常实用的Chrome浏览器插件,它为开发者提供了便捷的方式来解析和测试...通过实践和学习XPath语法规则,你将能够更精确地定位和提取网页上的信息,从而实现更高效的数据抓取。

    XPath教程

    在XSL中,XPath常与模板匹配结合使用,通过选取特定的XML节点并应用样式规则进行转换。例如,以下XSL模板使用XPath选取所有“price”元素,并将其格式化: ```xml 价格: ``` 此外,XPath还可以在其他XML...

    xpath规则验证工具

    XPath的语法主要包括以下部分: 1. **路径表达式**:XPath通过路径来选取节点,如`/html/body/p`表示选取HTML文档中所有的段落元素。 2. **轴(Axes)**:轴定义了节点的选取方向,如`ancestor`(祖先)、`child`...

    htmlagilitypack.1.8.8

    XPath语法规则在这里派上了大用场,它允许开发者用简洁的方式定位到想要的HTML节点。 HAP还支持DOM(文档对象模型)操作,如同XML一样,可以添加、删除或修改节点。例如,使用HtmlNode.CreateNode()创建新的节点,...

    xpath详解总结-很全面.docx

    在使用 XPath 之前,需要了解 XML 的基础知识,并且需要了解 XPath 的基础知识,例如 XPath 路径表达式的语法规则、上下文、轴、节点测试和谓词等概念。 XPath 是一种功能强大且灵活的语言,广泛应用于 XML 文档...

    XPath测试.zip

    这对于学习XPath语法、调试查询或者在实际项目中快速验证XPath表达式的正确性非常有用。 XPath表达式的语法主要包括路径表达式、轴、节点测试、节点集函数和比较运算符等。路径表达式用来指定要查找的节点位置,...

    JsoupXPath的所有依赖的jar文件

    ANTLR4的运行时库用于解析和生成符合语法规则的数据结构,这在JsoupXPath中可能用于解析XPath表达式。 4. **JsoupXpath-2.2.jar**: 这是JsoupXPath的主要实现库,提供了XPath支持,使得用户可以使用XPath语法来...

    XML、XHTML、XPath介绍

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

    XPath路径表达式详解

    XPath 路径表达式的语法规则为:路径 = 相对路径 | 绝对路径,XPath 路径表达式 = 步进表达式 | 相对路径 "/"步进表达式。 步进表达式是 XPath 路径表达式的核心部分,包括轴、节点测试和谓词三个部分。轴表示步进...

    Visual--Basic-的基本语法结构.doc

    《Visual Basic 的基本语法结构》 Visual Basic 是一种流行的编程语言,它的基本语法结构是学习VB编程的基础。本文档深入探讨了VB中的数据类型、变量和常量、运算符与表达式、流程控制、过程以及数组等核心概念,...

    XPATH 通俗教程

    XPath 语法类似于在一个文件系统中定位文件,通过使用斜线 / 或双斜线 // 等符号来指定元素的路径。 1. 绝对路径 XPath 中的绝对路径是从根元素开始的,使用斜线 / 作为路径分隔符。例如,/AAA 选择根元素 AAA;/...

    一个简单的爬虫demo使用了一些Xpath技术

    4. **Xpath语法**: - `/`:根路径,从文档根节点开始选择。 - `//`:任何位置的子节点,跨层级选择。 - `.//`:当前节点的任何位置的子节点。 - `*`:匹配任何元素节点。 - `@`:用于选取属性。 - `text()`:...

    xpath_helper.zip

    XPath的语法包括: 1. **节点类型**:XPath可以选取元素(element)、属性(attribute)、文本(text)、命名空间(namespace)、处理指令(processing-instruction)和注释(comment)节点。 2. **路径表达式**:...

    WEB开发 之 XML 语法规则.docx

    以下是对XML语法规则的详细说明: 1. **关闭标签**:XML的每个元素都必须有对应的关闭标签。与HTML不同,XML不允许省略关闭标签。例如,HTML中的`&lt;p&gt;This is a paragraph&lt;/p&gt;`在XML中应写为`&lt;p&gt;This is a paragraph...

    XPath测试程序

    1. XPath基本语法: XPath表达式由路径组成,这些路径描述了从文档根节点到目标节点的路径。例如,"/html/body/p"表示从根节点开始,通过"html"元素,再到"body"元素,最后选择所有的"p"元素。 2. 节点类型: XPath...

    htmlcleaner使用方法及xpath语法初探

    HtmlCleaner遵循大部分Web浏览器构建DOM时的规则,但同时也允许用户自定义标签和规则集以适应特定的过滤和匹配需求。 【XPath简介】 XPath(XML Path Language)是一种在XML文档中查找信息的语言,用于选取XML文档...

    xslt,xpath的例子和语法。非常全面。对于学习xml+xslt技术的人一定有帮助

    XSLT基于XML语法,通过使用模板和模式匹配来定义转换规则。 1. **模板(Templates)**:模板是XSLT的核心,它定义了如何处理特定类型的源XML节点。例如,你可以创建一个模板来处理所有的`&lt;paragraph&gt;`元素,将其...

    WebDriver-xpath和WebDriver-Css学习

    1. **基本概念**:理解XPath和Css选择器的基本语法和用法,包括各种选择器的含义和应用场景。 2. **选择器的使用**:学习如何编写XPath和Css表达式来定位页面上的特定元素,例如,通过id、class、tag name、属性等...

    jsoup的jar包、xpath所有jar包

    不过需要注意的是,虽然XPath通常用于XML,但JsoupXpath扩展使得在HTML上下文中也能使用XPath,尽管HTML的结构可能不那么严格遵循XML规则。 在Java项目中,若要同时使用JSoup和XPath功能,你只需要将这两个jar包都...

    Xpath helper

    3. 验证语法:XPath Helper会检查你输入的表达式是否有语法错误,确保你在编写代码时遵循了XPath的语法规则。 4. 查看节点值:选中的节点不仅会被高亮显示,其内容也会在工具中展示,方便查看和分析。 5. 支持版本:...

Global site tag (gtag.js) - Google Analytics