`

比较——XPath语法详解系列(六)

    博客分类:
  • XML
阅读更多

  • 比较

要在 XPath 中比较两个对象,可以使用 = 测试是否相等,也可以使用 != 测试是否不相等。

对于比较运算,必须正好提供两个操作数。比较的过程是计算每个操作数,然后根据需要将操作数转换为相同的类型。按照下面的“比较的优先级顺序”中所 述的过程完成比较。

所有元素和属性都是字符串,但是在进行数字比较时会自动被强制转换为整数值。在比较运算期间,文本数值会被强制转换为 long 或 double 类型,如下表所示。

文本类型 比较 示例

String

text(lvalue) op text(rvalue)

a < GGG

Integer

(long) lvalue op (long) rvalue

a < 3

Real

(double) lvalue op (double) rvalue

a < 3.1

示例:
表达式 引用

author[last-name = "Bob"]

至少包含一个值为 Bob<last-name> 元素的所有 <author> 元素。

author[last-name[1] = "Bob"]

第一个 <last-name> 子元素的值为 Bob 的所有 <author> 元素。

author/degree[@from != "Harvard"]

包含 from 属性不等于 "Harvard"<degree> 元素的所有 <author> 元素。

author[last-name = /editor/last-name]

包含与根元素下 <editor> 元素中的 <last-name> 元素相同的 <last-name> 元素的所有 <author> 元素。

author[. = "Matthew Bob"]

所有字符串值为 Matthew Bob<author> 元素。

比较的优先级顺序

与数据类型有关的比较遵循下列优先级顺序。

  • 如果至少有一个操作数为布尔值,每个操作数必须先转换为布尔值。

  • 否则,如果至少有一个操作数为数字,每个操作数必须先转换为数字。

  • 否则,如果至少有一个操作数为日期,每个操作数必须先转换为日期。

  • 否则,两个操作数都先转换为字符串。

分享到:
评论

相关推荐

    Selenium私房菜(新手入门教程)

    Selenium私房菜系列2 —— XPath的使用 - **内容概述**:XPath 是一种在 XML 文档中查找信息的语言,也是 Selenium 中定位页面元素的重要手段之一。本章节将详细介绍如何利用 XPath 进行元素定位。 - **关键知识点...

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

    5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat 185 5.5.2 运行tomcat 186 5.5.3 tomcat启动分析 189 5.5.4 tomcat的体系结构 191 5.6 tomcat的管理程序 ...

    《无废话XML》——两只老虎

    #### 3.3 Unicode编码方式详解 ##### 3.3.1 Unicode编码范围 - Unicode覆盖了从基本拉丁字母到古代文字的所有字符,共有超过137,000个字符。 ##### 3.3.2 UTF-8编码原理 - UTF-8使用1到4个字节来编码一个Unicode...

    libxml2-2.9.0.zip

    **libxml2库详解** **一、libxml2简介** libxml2是开源的XML解析库,由Gnome项目开发并维护。它提供了一系列强大的工具和API,用于处理XML、HTML、XInclude、XPath、XPointer、XSLT、Namespaces、SGML以及DTD等XML...

    Registration.zip

    《XX游戏自动注册脚本(含滑块验证)——Python编程实践详解》 在现代网络游戏中,用户注册是必不可少的一环,而为了增加安全性,许多游戏平台采用了滑块验证等反自动化手段。本文将深入探讨如何使用Python编写一个...

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

    #### 六、LINQ Operators详解 这部分详细介绍了各种LINQ查询运算符的功能和使用方法: - **过滤(Filtering)**:如`Where`、`Any`、`All`等用于过滤数据集的操作。 - **数据转换(Projecting)**:如`Select`、`...

    如何用影刀抢演唱会门票,做一只可爱的小“黄牛”.pdf

    ### 如何用影刀RPA技术抢购演唱会门票——打造高效自动化的购票流程 #### 需求背景与目标 随着数字技术的发展,利用软件工具进行自动化操作已成为一种普遍现象。尤其是在热门活动如演唱会门票的抢购过程中,手动...

    Crawler通用爬虫.zip

    《通用爬虫技术详解——基于"Crawler通用爬虫.zip"》 爬虫技术是网络信息获取的重要手段,它能够自动化地遍历网页,提取所需的数据。"Crawler通用爬虫.zip"是一个强大的自定义模板爬虫工具,适用于任何可以通过...

    学生管理系统(xml充当数据库)

    《基于XML的学生管理系统详解》 XML(eXtensible Markup Language)是一种用于标记数据的语言,其特点是结构化、可扩展且易于人和机器阅读。在本文中,我们将深入探讨一个特殊的案例——“学生管理系统”,该系统...

    DouBanDemo.rar

    《Python爬虫技术详解——以DouBanDemo为例》 Python爬虫作为一种强大的数据获取工具,广泛应用于数据分析、信息抓取和自动化任务中。本篇文章将以"DouBanDemo"为例,深入探讨Python爬虫的基本概念、核心技术和实战...

    .NetFramework的课件和实例

    《.Net Framework详解及其应用实例》 .Net Framework是微软公司推出的一种全面且强大的应用程序开发框架,它为开发者提供了丰富的类库、开发工具和运行环境,极大地简化了Windows平台上的软件开发过程。本课件和...

    selenium-2.14.0.tar.gz

    《Selenium 2.14.0:Python 依赖包详解》 Selenium 是一个强大的自动化测试工具,尤其适用于Web应用程序。在这个版本——Selenium 2.14.0中,我们聚焦于其与Python环境的集成,以及该版本带来的特性和改进。本文将...

    Climbing_JiangXi

    《Java爬虫技术详解——以"Climbing_JiangXi"为例》 在信息化时代,数据是宝贵的资源,而爬虫技术则是获取网络数据的重要手段。本文将以"Climbing_JiangXi"项目为例,深入探讨使用Java语言进行网络爬虫开发的知识点...

    news_crawler:新闻抓取爬虫

    【新闻抓取爬虫——Python实现详解】 在信息爆炸的时代,获取实时、全面的新闻数据对个人、企业和研究者都至关重要。"news_crawler"是一个使用Python编写的新闻抓取爬虫,它能够自动化地从互联网上抓取指定网站的...

    Python-pyquery一个解析HTML的库类似jQuery

    **Python PyQuery库详解——HTML解析利器** PyQuery是一个基于Python的库,它提供了一种类似于jQuery的API来处理和解析HTML文档。这个强大的工具使得Python开发者在处理XML或HTML数据时,能够享受到与JavaScript中...

Global site tag (gtag.js) - Google Analytics