`

XPath表达式的上下文——XPath语法详解系列(一)

    博客分类:
  • XML
阅读更多
  • XPath 表达式的上下文

基本 XPath 表达式

以下是基本的 XPath 表达式类型:

1、当前上下文

以句点和正斜杠 (./) 作为前缀的表达式明确使用当前上下文作为上下文。例如,以下表达式引用当前上下文中的所有 <author> 元素:

./author

注意,此表达式等效于以下表达式:

author
2、文档

正斜杠 (/) 为前缀的表达式使用文档树的根 作为上下文。例如,以下表达式引用此文档根的 <bookstore> 元素:

/bookstore
3、 根元素

使用正斜杠后接星号 (/*) 的表达式将使用根元素 作为上下文。例如,以下表达式查找文档的根元素(注:虽然根的是 * 号,但文档只有一个根元素,所以匹配的也只是一个根元素):

/*
4、递归下降

使用双正斜杠 (//) 的表达式指示可以包括零个或多个层次结构级别的搜索。如果此运算符出现在模式的开头,上下文相对于文档的根。例如,以下表达式引用当前文档中任意位置的所 有 <author> 元素:

//author

.// 前缀指示上下文从层次结构中当前上下文所指示的级别开始。

5、特定元素

以元素名开头的表达式引用特定元素的查询,从当前上下文节点开始。例如,以下表达式引用当前上下文节点中 <images> 元素内的 <background.jpg> 元素:

images/background.jpg

以下表达式引用当前上下文节点中 <bookstore> 元素内的 <book> 元素的集合:

bookstore/book

以下表达式引用当前上下文节点中的所有 <first.name> 元素:

first.name

DOM 中的上下文

在 Microsoft XML DOM 中使用 XPath 表达式时,上下文是调用其 selectNodes 方法或 selectSingleNode 方法的 Node 对象。

 

如果直接从 DOM 使用 XPath,应从特定节点定义上下文,如Mozilla中的XPathEvaluator的方法evaluate(String expression , Node contextNode , XPathNSResolver resolver , short type , nsISupports result ) ,第二个参数就是要传递进去的上下文节点。

 

XSLT 中的上下文

如果直接从 XSLT 使用 XPath,应通过当前节点定义上下文。

分享到:
评论

相关推荐

    XPath路径表达式详解

    XPath 路径表达式的上下文环境包括当前节点、父节点、根元素和根节点等,XPath 路径表达式的计算结果取决于它所处的上下文环境。 在实际应用中,XPath 路径表达式可以应用于 DOM、XSLT 和 XQuery 等领域,用于定位...

    Python3 xml.etree.ElementTree支持的XPath语法详解

    在XPath表达式中,`.`用于表示当前上下文元素。 - `..`:选择父元素。如果到达文档的根节点,将返回`None`或空列表。 - `//`:选择当前元素下所有级别的子元素。但是,XPath表达式不能以`//`开头作为起始路径。 3...

    xpath详解总结-很全面.docx

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

    xpath详解总结,很全面[参照].pdf

    XPath 中的上下文是指一种环境,以明确当前 XPath 路径表达式处在什么样的环境下执行。XPath 上下文基本有以下几种:当前节点 (./) 、父节点 (../) 、根元素( / )、根节点( /* )、递归下降( // )等。 XPath ...

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

    XSL的PPT @ECNU

    3. **XPath的上下文**:解释当前节点、当前上下文和上下文大小的概念。 4. **XPath的版本差异**:对比XPath 1.0和2.0/3.0的不同,例如函数的扩展和类型系统的变化。 5. **XPath在XSLT中的应用**:如何在XSLT中嵌入...

    EL表达式详细介绍

    EL受到ECMAScript和XPath表达式语言的影响,提供了一系列简洁的语法来处理集合、属性、操作符和静态方法。 ### EL语言的基本结构 EL表达式通常以`${}`包裹,例如`${expression}`。表达式内部可以包含各种元素,如...

    java EL 表达式

    - **`pageContext`**:用于获取与页面上下文相关的各种信息。例如,获取请求的 URL,可以使用 `${pageContext.request.requestURL}`。 #### 三、EL 运算符 EL 支持多种运算符,包括算术运算符、关系运算符、逻辑...

    XPath入门 - XSL教程 - 3

    XPath提供了一系列内置函数,用于处理节点集和其他数据类型: 1. **`last()`**:返回表达式求值上下文中的上下文大小。 2. **`position()`**:返回表达式求值上下文中的上下文位置。 3. **`count(node-set)`**:...

    JSP EL表达式很全哦

    EL语言的设计灵感来源于ECMAScript和XPath表达式语言,它为开发者提供了一种在JSP页面中简化表达式的方法。 **目的:** EL的主要目的是减少页面中Java代码的数量,从而使得JSP页面更加干净整洁,同时也便于维护。...

    XML精通+深入详解

    XML文档由一系列元素组成,每个元素都包含开始标签和结束标签,例如`&lt;element&gt;`和`&lt;/element&gt;`。元素可以包含文本内容、属性,也可以嵌套其他元素。XML文档必须遵循一定的语法规则,如正确关闭标签、使用正确的命名...

    可以参考的xquery词法分析和语法分析.rar

    在XQuery中,解析器会根据上下文无关文法(Context-Free Grammar,CFG)来构建抽象语法树(Abstract Syntax Tree,AST)。 2.1 表达式:XQuery的核心是表达式,它可以是简单的原子值,也可以是复杂的查询结构,如...

    jQquery 入门

    1. **jQuery(expression, context)**:根据表达式(如ID、DOM元素名、CSS表达式、XPath表达式)在指定上下文中查找元素,返回jQuery对象。例如,`jQuery("ul&gt;li:first", document)`会选取文档中`&lt;ul&gt;`下的第一个`...

    JSP EL表达式详细介绍

    EL受到ECMAScript和XPath表达式语言的影响,提供了一种在JSP中方便地处理数据和表达式的方法。 ### 一、JSP EL语言定义 EL设计的主要目标是提升JSP的易读性和简洁性。它包括以下特性: 1. **命名空间**:EL支持...

    jstl语法的具体应用介绍

    - `select`: XPath表达式,用于选择XML文档中的节点。 - `escapeXml`: 是否对特殊字符进行转义。 - `default`: 如果节点不存在时的默认值。 #### 国际化输出标签详解 ##### `&lt;fmt:timeZone&gt;`标签 `&lt;fmt:timeZone&gt;...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    4.11.1 xpath上下文 116 4.11.2 位置路径 117 4.11.3 表达式 121 4.11.4 核心函数库 123 4.12 创建结果树 126 4.12.1 创建元素和属性 127 4.12.2 创建文本 131 4.12.3 创建处理指令 133 4.12.4 创建注释 133...

    XML学习基础与详解

    1. XML文档结构:XML文档由一系列元素构成,每个元素可以包含其他元素或文本。XML文档必须有且仅有一个根元素,其他所有元素都嵌套在根元素内。 2. 标签自定义:XML不同于HTML,它的标签不是预定义的,而是由用户...

Global site tag (gtag.js) - Google Analytics