`

位置路径示例——XPath语法详解系列(十二)

    博客分类:
  • XML
阅读更多
  • 位置路径示例

下面的示例说明位置路径的用法。


路径 说明

child::node()

选择上下文节点的所有子级,无论属于哪种节点类型。

attribute::name

选择上下文节点的 name 属性。

attribute::*

选择上下文节点的所有属性。

descendant::para

选择上下文节点的 <para> 元素子代。

ancestor::div

选择上下文节点的所有 <div> 上级。

ancestor-or-self::div

选择上下文节点的 <div> 上级,如果上下文节点是 <div> 元素,还将选择该上下文节点。

descendant-or-self::para

选择上下文节点的 <para> 元素子代,如果上下文节点是 <para> 元素,还将选择该上下文节点。

self::para

如果上下文节点是 <para> 元素,则选择该上下文节点;否则,不选择任何内容。

child::chapter/descendant::para

选择上下文节点的 <chapter> 元素子级的 <para> 元素子代。

child::*/child::para

选择上下文节点的所有 <para> 孙级。

/

选择文档根(总是文档元素的父级)。

/descendant::para

选择与上下文节点相同的文档中的所有 <para> 元素。

/descendant::olist/child::item

选择所有具有 <olist> 父级以及与上下文节点处于同一文档的 <item> 元素。

child::para[position()=1]

选择上下文节点的第一个 <para> 子级。

child::para[position()=last()] 

选择上下文节点的最后一个 <para> 子级。

child::para[position()=last()-1] 

选择上下文节点的倒数第二个 <para> 子级。

child::para[position()>1]

选择上下文节点的所有 <para> 子级,上下文节点的第一个 <para> 子级除外。

/descendant::figure[position()=42] 

选择文档中的第 42 个 <figure> 元素。

/child::doc/child::chapter[position()=5]/child::section[position()=2] 

选择 <doc> 文档元素的第 5 个 <chapter> 元素中包含的第二个 <section> 元素。

child::para[attribute::type="warning"] 

选择上下文节点中所有 type 属性值为 "warning"<para> 子级。

child::para[attribute::type="warning"][position()=5]

选择上下文节点中 type 属性值为 "warning". 的第 5 个 <para> 子级,注:连续的谓词为与的关系,都是针对para元素。

child::para[position()=5][attribute::type="warning"] 

选择上下文节点的第 5 个 <para> 子级(如果该子级的 type 属性值为 "warning". )。

child::chapter[child::title="Introduction"] 

选择上下文节点中包含一个或多个字符串值等于“Introduction ”的 <title> 子级的 <chapter> 子级。

child::chapter[child::title] 

选择上下文节点中包含一个或多个 <title> 子级的 <chapter> 子级。

child::*[self::chapter or self::appendix] 

选择上下文节点的 <chapter><appendix> 子级。

child::*[self::chapter or self::appendix][position()=last()] 

选择上下文节点的最后一个 <chapter><appendix> 子级。

 

 

分享到:
评论

相关推荐

    XPath语法详解xml开发必备

    下面我们将详细探讨XPath语法及其在XML开发中的应用。 1. **XPath的基本概念** - **节点**:XML文档由一系列节点构成,如元素(element)、属性(attribute)、文本(text)、命名空间(namespace)、处理指令...

    C#操作xml之xpath语法

    ### C#操作XML之XPath语法详解 在C#中,操作XML文档是一项常见的任务,尤其在处理配置文件、数据交换格式或集成不同系统时。为了有效地解析和查询XML数据,XPath成为了一种不可或缺的语言。本文将深入探讨XPath的...

    Xpath常用语法示例

    ### Xpath常用语法详解 #### 一、遍历节点 Xpath中的遍历操作非常常见,主要用于处理XML文档中的多个相同节点。例如,在一个XML文档中有多个`&lt;div&gt;`标签带有`class="content"`属性,我们可以使用`&lt;xsl:for-each&gt;`...

    XML 路径语言(XPath) 版本 1.0

    ### XML路径语言(XPath)版本1.0:关键知识点解析 #### 一、XPath简介与背景 **XPath** 是一种用于查找 **XML** 文档中信息的语言,它于1999年11月16日由 **W3C** (万维网联盟)发布为推荐标准。XPath 的设计...

    Python爬虫基础之XPath语法与lxml库的用法详解

    主要给大家介绍了关于Python爬虫基础之XPath语法与lxml库用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    XPath 简单语法

    ### XPath简单语法详解 #### 一、XPath简介 XPath是一种在XML文档中查找信息的语言,类似于HTML中的CSS选择器或SQL中的查询语句。XPath能够快速定位到XML文档中的某个节点或者一组节点,并且可以用来抽取节点数据...

    解析XPath语法之在C#中使用XPath的示例详解

    XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许通过简洁的表达式来选取XML文档中的节点,如元素、属性、文本等。...理解XPath语法和在C#中如何应用它,对于处理XML数据的开发人员至关重要。

    xpath应用和说明

    #### XPath路径表达式详解 XPath使用路径表达式来选取XML文档中的节点,这些路径表达式可以非常复杂,包括绝对路径、相对路径以及各种过滤器和谓语。以下是对XPath路径表达式关键部分的详细解析: - **绝对路径**...

    QML语法详解

    ### QML语法详解 #### 一、QML简介 QML(Qt Meta Language)是一种用于构建用户界面的声明性语言,它与JavaScript紧密结合,能够轻松地实现动态效果和复杂的交互逻辑。QML的设计理念旨在简化界面开发过程,使得...

    【爬虫学得好,基础少不了】:XPath语法和lxml模块(详解)

    总的来说,XPath是XML和HTML解析的重要工具,熟练掌握XPath语法和使用方式对于进行数据抓取和处理,尤其是在网络爬虫领域,具有至关重要的作用。通过`lxml`库,我们可以轻松地在Python中利用XPath进行文档的解析和...

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

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

    DOM XPATH获取img src值的query

    您可能感兴趣的文章:c#通过xpath读取xml示例java使用xpath解析xml示例分享java使用xpath和dom4j解析xml深入XPath的详解以及Java示例代码分析解析XPath语法之在C#中使用XPath的示例详解使用HtmlAgilityPack XPath ...

    B06_1_Xpath提取网页数据.md

    ### Xpath提取网页数据知识点详解 #### 一、Xpath简介 Xpath是一种查询语言,主要用于在XML文档中查找信息。它可以轻松地在XML文档中通过元素和属性进行导航。虽然Xpath最初是为了处理XML而设计的,但它同样适用于...

    XPath基础知识

    #### XPath语法示例 假设我们有以下的XML文档: ```xml &lt;title lang="eng"&gt;Harry Potter &lt;price&gt;29.99 &lt;title lang="eng"&gt;Learning XML &lt;price&gt;39.95 ``` - 使用`/bookstore/book/title`可以选择...

    (完整版)python+xpath笔记.docx

    ### Python与XPath结合应用知识点详解 #### 一、XPath简介 XPath是一种在XML文档中查找信息的语言。尽管这里讨论的是HTML文档(通常由浏览器解析),但XPath同样适用,并且经常被用于网页抓取等场景中。XPath...

    XPATH学习,xpath入门的好东西啊

    XPATH语法主要包括以下几种类型的表达式: - **绝对路径**:以`/`开始,选择文档中从根节点开始的路径。 - **相对路径**:不以`/`开始,选择相对于当前节点的路径。 - **轴**:定义了节点之间的关系,如`child::`、`...

    Xpath教程 如何使用xpath

    #### 六、XPath语法 **XML实例文档** ```xml &lt;title lang="eng"&gt;Harry Potter &lt;price&gt;29.99 &lt;title lang="eng"&gt;Learning XML &lt;price&gt;39.95 ``` **选取节点** XPath使用路径表达式来选取XML文档中...

    XPath 使用方法

    ### XPath 使用方法详解 #### 一、XPath简介 XPath 是一门专门用于在 XML 文档中查找信息的语言。它能够帮助用户有效地浏览 XML 文档结构,并从中抽取特定数据。XPath 的重要性不仅体现在其本身的功能上,还在于它...

    selenium自动化测试之xpath进阶

    ### Selenium自动化测试之XPath进阶知识点详解 #### 一、XPath概述 XPath 是一种用于在 XML 文档中查找信息的语言,它可以快速定位到 XML 文档中的任何部分。在 Web 自动化测试领域,XPath 被广泛应用于元素的定位...

    XPath教程

    ### XPath教程知识点详解 #### 一、XPath简介与基本语法 XPath是一种在XML文档中查找信息的语言。它提供了一种快速有效的方式来定位和提取XML数据中的特定部分。 #### 二、选择节点的基本方法 1. **绝对路径选择...

Global site tag (gtag.js) - Google Analytics