`

筛选器和筛选模式——XPath语法详解系列(四)

    博客分类:
  • XML
SQL 
阅读更多
  • 筛选器和筛选模式

通过将筛选子句 [pattern] 添加到集合中,可以对任何集合应用约束和分支。筛选器类似于 SQL WHERE 子句。筛选器中包含的模式称为“筛选模式”。筛选模式计算为布尔值,对集合中的每个元素进行测试。集合中所有未通过筛选模式测试的元素将从结果集合中省 略。

 

为了方便起见,如果集合在筛选器内,若集合包含任何成员,则生成布尔值 TRUE,若集合为空,则生成 FALSE。author/degree 之类的表达式意味着,如果存在包含名为 <degree> 的子元素的 <author> 元素,集合到布尔值的转换函数将计算为 TRUE。

 

注意,在表达式的给定级别可以出现任意数目的筛选器。不允许使用空筛选器。

 

筛选器总是针对上下文进行计算。也就是说,表达式 book[author] 意味着,对每个找到的 <book> 元素测试是否包含 <author> 子元素。同样,book[author = 'Bob'] 意味着,对每个找到的 <book> 元素测试是否包含值为 Bob<author> 子元素。还可以使用句点 (. ) 字符检查上下文的值 。例如,book[. = 'Trenton'] 意味着,对当前上下文中找到的每一本书,测试值是否为 Trenton

表达式 引用

book[excerpt]

至少包含一个 <excerpt> 元素的所有 <book> 元素。

book[excerpt]/title

至少包含一个 <excerpt> 元素的 <book> 元素内的所有 <title> 元素。

book[excerpt]/author[degree]

至少包含一个 <degree> 元素并且在至少包含一个 <excerpt> 元素的 <book> 元素内的所有 <author> 元素。

book[author/degree]

至少包含一个 <author> 元素并且该元素至少包含一个 <degree> 子元素的 <book> 所有元素。

book[excerpt][title]

至少包含一个 <excerpt> 元素以及至少包含一个 <title> 元素的 <book> 所有元素。注:这里的[excerpt][title]都是能前面book元素进行约束的, [title]不是对excerpt进行约束的。如果是 [excerpt [title] ], [title]则是对上下文节点excerpt进行约束的。

分享到:
评论

相关推荐

    C#操作xml之xpath语法

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

    xpath应用和说明

    XPath提供了丰富的语法和函数库,能够精确地定位XML文档中的元素和属性,使得数据检索和处理变得高效和灵活。作为W3C(World Wide Web Consortium)的标准,XPath广泛应用于各种XML相关的技术中,如XSLT、XML Schema...

    jquery CSS和xpath选择器.pdf

    《jQuery CSS和XPath选择器详解》 jQuery是一个广泛使用的JavaScript库,它的核心功能之一就是强大的选择器引擎。这个引擎不仅支持CSS1-3的选择器语法,还兼容XPath选择器,并在此基础上进行了扩展,使得开发者能更...

    selenium自动化测试之xpath进阶

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

    Java使用JSONPath解析JSON完整内容详解

    Java使用JSONPath解析JSON完整内容详解 ...JsonPath为处理JSON数据提供了一种非常灵活且强大的方式,特别是在处理嵌套结构和条件筛选时,JsonPath比传统的JSON处理库提供了更为简洁和直观的查询方法。

    绝顶得XSLT学习资料

    2. **XPath详解**:详细介绍XPath的语法,包括节点类型、轴、函数和运算符。XPath的路径表达式可以帮助我们准确地定位到XML文档的任何部分,而它的函数库则提供了对字符串、数字、节点集等的处理能力。 3. **XSLT...

    Linq 之路,通俗易懂的讲解Linq用法

    无论是数据库中的关系型数据、XML文档、本地的DataSet还是内存中的列表,都需要进行筛选和处理。在.NET 3.5之前,这些操作往往依赖于不同的API和工具,例如ADO.NET用于数据库访问,XPath/XSLT用于XML文档处理等。而...

    基于python爬虫数据处理(详解)

    Python语言因其简洁的语法和丰富的第三方库,成为爬虫开发的首选工具。下面将详细讲解基于Python的爬虫数据处理过程。 1. 数据获取: Python中的requests库是用于发送HTTP请求的主要工具,可以用来下载网页内容。...

    XQuery权威指南(简码·扫描版)

    - **作用**:用于检索、筛选、排序和更新XML文档中的数据。 - **特点**: - 与XML紧密集成。 - 支持路径表达式、FLWOR表达式等多种查询方式。 - 内置函数丰富,支持多种数据类型。 - 可以与其他技术(如SQL)...

    XMLEditPro

    4. **XPath支持**:XMLEditPro支持XPath查询语言,用户可以方便地查找、选取XML文档中的特定节点,进行数据筛选和处理。 5. **模板与宏**:该软件允许用户创建和保存XML模板,提高重复工作的效率。宏功能则可记录一...

    自写python爬虫壁纸软件

    此外,了解正则表达式或者XPath语法,可以帮助我们更精确地定位数据。 2. **基础算法**:在爬虫过程中,算法扮演着关键角色。例如,我们可以使用深度优先搜索或广度优先搜索策略遍历网页链接;使用队列或堆数据结构...

    Python库 | pyjsonpath-1.0.9.tar.gz

    `pyjsonpath`是Python中用于解析和操作JSON路径的库,类似于XPath在XML中的角色。它借鉴了JsonPath的概念,提供了一种简洁的语法来查找和操作JSON结构中的元素。`pyjsonpath-1.0.9`是该库的一个稳定版本,包含了对...

    ActiveMQ 图文介绍 英文版

    此外,对于XML格式的消息,还可以使用XPath表达式进行更复杂的筛选。 #### 四、Broker架构 ActiveMQ的Broker架构设计灵活,支持多种类型的连接器和拓扑结构,可以适应不同的网络环境和业务需求。例如: - **集群...

    Java程序员的10道常见的XML面试问答题(XML术语详解)

    它通过路径表达式来选取节点,类似文件系统路径,但具有自己的语法,可以进行复杂的筛选和导航。 3. XSLT(可扩展样式表语言转换): XSLT用于将XML文档转换成其他格式,如HTML、XML或文本。它使用模板和规则来...

    DOM4j属性的详细介绍及相关的例子

    **DOM4j 知识点详解** DOM4j 是一个灵活且功能强大的Java库,用于处理XML文档。它提供了一套全面的API来操作XML,包括读取、创建、修改和解析XML文档。以下是DOM4j中一些主要接口及其功能的详细解释: 1. **...

    db2-cert7307-a4.pdf

    ### IBM DB2 XQuery 支持详解 #### 一、引言 在“db2-cert7307-a4.pdf”这份文档中,主要介绍了IBM DB2 9中对XQuery的支持及其基本用法。XQuery是一种专为查询XML数据而设计的行业标准语言,在IBM DB2 9中得到了...

    PLSQL Developer 7.0 最新中文手册.pdf

    - 常用命令列表、命令语法详解。 #### 八、创建与修改非PL/SQL对象 - **表定义编辑器**: - 表结构设计、索引及约束添加。 - **序列定义编辑器**: - 序列对象的创建、序列值获取方法。 - **同义词定义编辑器**...

    jQuery中文API

    此外,jQuery还支持XPath和CSS选择器的组合,如`$("div:first-child")`选取每个父元素的第一个`&lt;div&gt;`子元素。 ### 二、DOM操作 1. **元素操作**: `$(selector).html()`, `$(selector).text()`分别用于获取或设置...

    LInq入门宝典 Linq To Xml linq to sql

    在传统的XML处理中,我们需要使用DOM(文档对象模型)或XPath、XQuery等来解析和操作XML,而LInq To Xml则将这些操作与C#或VB.NET语言紧密结合,使得XML编程更为高效。 1. **XDocument与XElement**:LInq To Xml的...

Global site tag (gtag.js) - Google Analytics