XPath官方手册中文版

合集下载

XPATH参考手册

XPATH参考手册

XPath 教程Next Page XPath 是一门在 XML 文档中查找信息的语言。

XPath 可用来在 XML 文档中对元素和属性进行遍 历。

XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达 之上。

因此,对 XPath 的理解是很多高级 XML 应用的基础。

开始学习 XPath !XPath 参考手册在 W3School,我们提供完整的 XPath 2.0、XQuery 1.0 和 XSLT 2.0 的内置函数参考手册。

XPath 函数内容目录XPath 简介 本章讲解 XPath 的概念。

XPath 节点 本章详细介绍 XPath 中不同类型的节点,以及节点之间的关系。

XPath 语法 本章讲解 XPath 的语法。

XPath 轴 本章讲解 XPath axes(轴)。

XPath 运算符 本章列出了可以用于 XPath 表达式的运算符。

XPath 实例 本章使用 "books.xml" 文档来演示一些 XPath 实例。

XPath 摘要 本文内容包括在本教程所学知识的一个总结,以及我们向你推荐的下一步应该学习的内容。

XPath 参考手册XPath 函数XPath 2.0、XQuery 1.0 和 XSLT 2.0 的内置函数。

XPath 简介 Previous Page Next Page XPath 是一门在 XML 文档中查找信息的语言。

XPath 用于在 XML 文档中通过元素和属性进行导 航。

在学习之前应该具备的知识:在您继续学习之前,应该对下面的知识有基本的了解: HTML / XHTML  XML / XML 命名空间如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。

什么是 XPath? XPath 使用路径表达式在 XML 文档中进行导航  XPath 包含一个标准函数库  XPath 是 XSLT 中的主要元素  XPath 是一个 W3C 标准XPath 路径表达式XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。

XPath语法参考

XPath语法参考

XPath语法参考XPath语法参考收藏之所以要引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素。

可以把XPath比作文件管理路径:通过文件管理路径,可以按照一定的规则查找到所需要的文件;同样,依据XPath所制定的规则,也可以很方便地找到XML结构文档树中的任何一个节点.不过,由于XPath可应用于不止一个的标准,因此W3C将其独立出来作为XSLT的配套标准颁布,它是XSLT以及我们后面要讲到的XPointer的重要组成部分。

在介绍XPath的匹配规则之前,我们先来看一些有关XPath的基本概念。

首先要说的是XPath数据类型。

XPath可分为四种数据类型:节点集(node-set)节点集是通过路径匹配返回的符合条件的一组节点的集合。

其它类型的数据不能转换为节点集。

布尔值(boolean)由函数或布尔表达式返回的条件匹配值,与一般语言中的布尔值相同,有true和false两个值。

布尔值可以和数值类型、字符串类型相互转换。

字符串(string)字符串即包含一系列字符的集合,XPath中提供了一系列的字符串函数。

字符串可与数值类型、布尔值类型的数据相互转换。

数值(number)在XPath中数值为浮点数,可以是双精度64位浮点数。

另外包括一些数值的特殊描述,如非数值NaN(Not-a-Number)、正无穷大infinity、负无穷大-infinity、正负0等等。

number的整数值可以通过函数取得,另外,数值也可以和布尔类型、字符串类型相互转换。

其中后三种数据类型与其它编程语言中相应的数据类型差不多,只是第一种数据类型是XML文档树的特有产物。

另外,由于XPath包含的是对文档结构树的一系列操作,因此搞清楚XPath节点类型也是很必要的。

回忆一下第二章中讲到的XML文档的逻辑结构,一个XML文件可以包含元素、CDATA、注释、处理指令等逻辑要素,其中元素还可以包含属性,并可以利用属性来定义命名空间。

WebGoat中文手册

WebGoat中文手册

WebGoat中文手册版本:5.4webgoat团队2013年1月Revision record 修订记录 项目任务 参与人员 完成时间项目人员协调 Rip,袁明坤,Ivy 2012年7月翻译及整核以往版本袁明坤,傅奎,beer,南国利剑,lion 2012年8月 Webgoat5.4 版本测试袁明坤,傅奎,beer,南国利剑,lion 2012年8月 Webgoat5.4 中文手册傅奎 2012年9月 审核发布阿保,王颉, 王侯宝 2013年1月 前期参与人员 蒋根伟,宋飞,蒋增,贺新朋,吴明,akast ,杨天识,Snake ,孟祥坤,tony ,范俊,胡晓斌,袁明坤[感谢所有关注并参与过OWASP 项目的成员,感谢你们的分享和付出,webgoat 和大家一起成长!如有修改建议,请发送至webgoat@ 我们一起改进,谢谢!目录1 WebGoat简介 (6)1.1 什么是WebGoat (6)1.2 什么是OWASP (6)1.3 WebGoat部署 (6)1.4 用到的工具 (7)1.4.1 WebScarab (7)1.4.2 Firebug和IEwatch (8)1.5 其他说明 (8)2 WebGoat教程 (9)2.1 综合(General) (9)2.1.1 HTTP基础知识(Http Basics) (9)2.1.2 HTTP拆分(HTTP Splitting) (11)2.2 访问控制缺陷(Access Control Flaws) (19)2.2.1 使用访问控制模型(Using an Access Control Matrix) (19)2.2.2 绕过基于路径的访问控制方案(Bypass a Path Based Access Control Scheme) (22)2.2.3 基于角色的访问控制(LAB: Role Based Access Control) (25)2.2.4 远程管理访问(Remote Admin Access) (36)2.3 Ajax安全(Ajax Security) (38)2.3.1 同源策略保护(Same Origin Policy Protection) (38)2.3.2 基于DOM的跨站点访问(LAB: DOM‐Based cross‐site scripting) (39)2.3.3 小实验:客户端过滤(LAB: Client Side Filtering) (43)2.3.4 DOM注入(DOM Injection) (46)2.3.5 XML注入(XML Injection) (49)2.3.6 JSON注入(JSON Injection) (52)2.3.7 静默交易攻击(Silent Transactions Attacks) (54)2.3.8 危险指令使用(Dangerous Use of Eval) (57)2.3.9 不安全的客户端存储(Insecure Client Storage) (59)2.4 认证缺陷(Authentication Flaws) (62)2.4.1 密码强度(Password Strength) (62)2.4.2 忘记密码(Forgot Password) (64)2.4.3 基本认证(Basic Authentication) (66)2.4.4 多级登录1(Multi Level Login 1) (71)2.4.5 多级登录2(Multi Level Login 2) (73)2.5 缓冲区溢出(Buffer Overflows) (74)2.5.1 Off‐by‐One 缓冲区溢出(Off‐by‐One Overflows) (74)2.6 代码质量(Code Quality) (78)2.6.1 在HTML中找线索(Discover Clues in the HTML) (78)2.7 并发(Concurrency) (79)2.7.1 线程安全问题(Thread Safety Problems) (79)2.7.2 购物车并发缺陷(Shopping Cart Concurrency Flaw) (80)2.8 跨站脚本攻击(Cross‐Site Scripting (XSS)) (82)2.8.1 使用XSS钓鱼(Phishing with XSS) (82)2.8.2 小实验:跨站脚本攻击(LAB: Cross Site Scripting) (84)2.8.3 存储型XSS攻击(Stored XSS Attacks) (90)2.8.4 跨站请求伪造(Cross Site Request Forgery (CSRF)) (91)2.8.5 绕过CSRF确认( CSRF Prompt By‐Pass) (93)2.8.6 绕过CSRF Token(CSRF Token By‐Pass) (98)2.8.7 HTTPOnly测试(HTTPOnly Test) (102)2.8.8 跨站跟踪攻击(Cross Site Tracing (XST) Attacks) (103)2.9 不当的错误处理(Improper Error Handling) (105)2.9.1 打开认证失败方案(Fail Open Authentication Scheme) (105)2.10 注入缺陷(Injection Flaws) (107)2.10.1 命令注入(Command Injection) (107)2.10.2 数字型SQL注入(Numeric SQL Injection) (109)2.10.3 日志欺骗(Log Spoofing) (110)2.10.4 XPATH型注入(XPATH Injection) (112)2.10.5 字符串型注入(String SQL Injection) (113)2.10.6 小实验:SQL注入(LAB: SQL Injection) (115)2.10.7 通过SQL注入修改数据(Modify Data with SQL Injection) (119)2.10.8 通过SQL注入添加数据(Add Data with SQL Injection) (120)2.10.9 数据库后门(Database Backdoors) (121)2.10.10 数字型盲注入(Blind Numeric SQL Injection) (123)2.10.11 字符串型盲注入(Blind String SQL Injection) (124)2.11 拒绝服务(Denial of Service) (126)2.11.1 多个登录引起的拒绝服务(Denial of Service from Multiple Logins) (126)2.12 不安全的通信(Insecure Communication) (127)2.12.1 不安全的登录(Insecure Login) (127)2.13 不安全的配置(Insecure Configuration) (130)2.13.1 强制浏览(How to Exploit Forced Browsing) (130)2.14 不安全的存储(Insecure Storage) (131)2.14.1 强制浏览(How to Exploit Forced Browsing) (131)2.15 恶意执行(Malicious Execution) (132)2.15.1 恶意文件执行(Malicious File Execution) (132)2.16 参数篡改(Parameter Tampering) (134)2.16.1 绕过HTML字段限制(Bypass HTML Field Restrictions) (134)2.16.2 利用隐藏字段(Exploit Hidden Fields) (136)2.16.3 利用未检查的E‐mail(Exploit Unchecked Email) (138)2.16.4 绕过客户端JavaScript校验(Bypass Client Side JavaScript Validation) (142)2.17 会话管理缺陷(Session Management Flaws) (148)2.17.1 会话劫持(Hijack a Session) (148)2.17.2 认证Cookie欺骗(Spoof an Authentication Cookie) (154)2.17.3 会话固定(Session Fixation) (158)2.18 Web服务(Web Services) (162)2.18.1 创建SOAP请求(Create a SOAP Request) (162)2.18.2 WSDL扫描(WSDL Scanning) (168)2.18.3 Web Service SAX注入(Web Service SAX Injection) (170)2.18.4 Web Service SQL注入(Web Service SQL Injection) (172)2.19 管理功能(Admin Functions) (175)2.19.1 报告卡(Report Card) (175)2.20 挑战(Challenge) (176)2.20.1 挑战(The CHALLENGE!) (176)1WebGoat简介1.1什么是WebGoatWebGoat是OWASP组织研制出的用于进行web漏洞实验的应用平台,用来说明web 应用中存在的安全漏洞。

xpath获取标签下所有文本的方法

xpath获取标签下所有文本的方法

【xpath获取标签下所有文本的方法】一、什么是xpath?在学习xpath获取标签下所有文本的方法之前,首先要了解xpath是什么。

简单来说,xpath是一种用来在XML文档中进行导航和查询的语言。

它可以帮助我们定位XML文档中的节点,并获取节点的内容或属性。

在网页开发中,xpath也常常用来定位和提取HTML标签。

二、基本的xpath语法在使用xpath获取标签下所有文本的方法前,我们先来看一下xpath的基本语法。

xpath的语法包括节点选择、谓词、运算符等。

其中,节点选择是最基本的部分,可以用来定位节点并提取内容。

我们可以使用路径表达式来选取节点,使用“/”来表示根节点,使用“//”来表示从任意节点开始匹配,使用“.”来表示当前节点等等。

三、获取标签下所有文本的方法在网页开发中,我们经常会遇到需要获取某个标签下所有文本的情况。

这时,就可以借助xpath来实现。

如果我们想要获取某个div标签下所有文本,可以使用以下的xpath表达式://div//text()这个表达式的含义是:选取所有div节点下的所有文本。

通过这样的xpath表达式,我们就可以获取到该div标签下所有的文本内容。

四、个人观点和理解使用xpath获取标签下所有文本的方法在网页开发中是非常常见和实用的。

它可以帮助我们快速准确地定位到需要的内容,并进行提取和处理。

在实际应用中,我们还可以结合其他xpath语法和方法,来进一步实现对网页内容的抓取和分析。

xpath是一个非常强大的工具,能够大大提高我们的开发效率和准确性。

五、总结回顾通过本文的介绍,我们了解了什么是xpath,掌握了基本的xpath语法,以及如何使用xpath获取标签下所有文本的方法。

在实际的网页开发中,xpath是一个非常实用的工具,能够帮助我们快速准确地定位和提取所需的内容。

xpath的应用范围非常广泛,不光可以用在网页开发中,还可以用在各种XML文档的处理中。

JS中文参考文档

JS中文参考文档

JS中⽂参考⽂档#页⾯标签及概述1JavaScript, Landing, Learn, priority本部分将专注于 JavaScript 语⾔本⾝,⽽⾮局限于⽹页或其他限制环境。

2DOM, Extensions, Transforming_XML_with_XSLT, Web Development, XPath该篇⽂档描述了如何在扩展和⽹站内部通过JavaScript调⽤ XPath 接⼝。

Xpath 表达式可以在 HTML 和 XML ⽂档中使⽤。

3JavaScript, ⼯具, 扩展JavaScript shell 可以让你在不刷新⼀个⽹页的情况下测试⼀段代码。

这在开发和调试代码的时候⾮常有帮助。

4Differential Inheritance, JavaScript差异化继承是基于原型编程的⼀个常见模型,它讲的是⼤部分的对象是从其他更⼀般的对象中派⽣⽽来的的,只是在⼀些很⼩的地⽅进⾏了修改。

每个对象维护⼀个指向它们的prototype的引⽤和⼀个差异化属性列表。

5JavaScr, 严格相等, 同值相等, ⽐较, 相等, 零值相等, ⾮严格相等ES2015中有四种相等算法:6ECMAScript, JS, JavaScript, 参考本章介绍如何使⽤来开发应⽤程序。

7JavaScript No summary!8JavaScript这篇⽂章按照字母顺序列出了MDN⾥边所有的JavaScript⽅法。

9JavaScript, Reference, 参考, 总览本章介绍和说明了 JavaScript 中所有的标准的内置对象、以及它们的⽅法和属性。

10JavaScript, ⼆维数组, 全局对象, 参考⼿册, 数组JavaScript的Array对象是⽤于构造数组的全局对象,数组是类似于列表的⾼阶对象。

11...rest, ...spread, Array, Array.from(), ECMAScript 2015, JavaScript, Reference, arguments, polyfill Array.from()⽅法从⼀个类似数组或可迭代对象中创建⼀个新的,浅拷贝的数组实例。

Selenium中文 API 参考手册

Selenium中文 API 参考手册

Selenium中文API 参考手册自行添加内容最近研究了下Selenium,苦于网上中文资料太少,便自己翻译了下Selenium官网上的API,便于大家一起沟通和学习。

由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈概念Selenium通过命令进行驱动。

Selenium可归纳为三种―风格‖:动作、辅助和断言。

每一个命令调用就是下表中的一行。

命令目标值(Actions)(Actions)((AAccttiioonnss)) ‖ ‖ ‖动作命令一般用于操作应用程序的状态。

它们通过如点击链接和选择选项‖的方式进行工作。

如果一个动作执行失败,或是有错误,当前的测试将会停止执行。

‖ ‖ ,‖ ‖许多动作可以被包含后缀并等待的方式进行调用,例如点击并等待。

这个后缀告知Selenium,该命令将使浏览器向服务器产生一个请求,并使得Selenium等待加载一个新的页面。

(Accessors)(Accessors)辅助((AAcccceessssoorrss))用于检查应用程序的状态并将结果存储在变量中。

例如‖storeTitle‖。

它们同样可用于自动生成断言。

(Assertions)(Assertions)断言((AAsssseerrttiioonnss))类似于辅助,但它们可以验证应用程序的状态是否同所期望的‖ X‖ ‖ ‖相一致。

例如包括确认页面标题为和验证该复选框是否被勾选。

所有的Selenium断言可以被用于三种模式:‖assert‖,―verify‖,和‖waitfor‖。

例如,‖assertText‖ ‖verifyText‖ ‖waitforText‖ ‖assert‖你可以,,及。

当失败时,该测试将终止。

当‖verify‖失败时,该测试将继续执行,并将错误记入日志。

这就允许了通过单条‖assert‖确保应用程序在正确的页面上,而通过一系列的‖verify‖断言测试表单上的区域值,标签等。

八爪鱼产品使用手册

八爪鱼产品使用手册目录1关于八爪鱼 (2)2Cookie (更多内容详见Cookie 视频) (2)2.1 Cookie诞生 (2)2.2 Cookie概述 (2)2.3 Cookie工作原理 (3)3Xpath、Html (3)3.1 Xpath、Html概念 (3)3.2 Html结构 (4)3.3 Html标签、元素、节点 (4)3.4 Html常见标签 (5)3.5 Html常见属性 (6)3.6 Xml、Xpath、Html关系和区别 (7)4常见问题 (7)5常见软件操作教程 (10)5.1 采集单个网页 (10)5.2 采集单个列表页面 (10)5.3 单网页表格信息采集 (10)5.4 采集单网页列表详细信息 (10)5.5 采集分页列表 (10)5.6 采集分页列表详细信息 (10)5.7 采集分页列表+ajax延时设置 (10)5.8 单个文本输入及各种登录方式采集 (11)5.9 Cookie登录 (11)5.10 文本循环输入 (11)5.11 循环切换下拉框 (11)5.12 xpath入门1 (11)5.13 xpath入门2 (11)5.14 一二页重复循环采集 (11)关于八爪鱼八爪鱼·大数据,通过自主创新研发,以分布式云平台架构为产品核心,帮助客户通过在极短的时间内,通过简单操作即可获取想要的数据,并以结构化数据展示,为企业数据挖掘与数据分析提供基础数据源。

于2015年1月,获得国家重点软件企业上市公司“拓尔思”投资。

Cookie (更多内容详见Cookie 视频)Cookie诞生当某个用户打开浏览器发出页面请求时,web服务器只是进行简单相应,然后就关闭与该用户的连接。

所以当用户每发起一个打开网页请求到web服务器的时候,无论是否是第一次打开同一个网页,web服务器都会把这个请求当作第一次来对待,那这样的缺陷可想而知,比如每次打开登录页面的时候都需要输入用户名、密码。

python中文参考手册

python中文参考手册【原创版】目录1.Python 简介2.Python 版本3.Python 基础语法4.Python 数据类型5.Python 控制流程6.Python 函数和模块7.Python 面向对象编程8.Python 异常处理9.Python 标准库10.Python 应用实例正文1.Python 简介Python 是一种高级编程语言,其设计目标是易于阅读和编写。

Python 具有清晰的语法和优秀的可扩展性,可以用于多种应用,包括 Web 开发、数据分析、人工智能和科学计算等领域。

Python 的首个公开发布版本——Python 0.9.0,发布于 1991 年。

2.Python 版本Python 的最新稳定版本是 Python 3.9。

Python 3 系列与 Python 2 系列相比有许多改进和新特性,因此建议使用 Python 3 进行开发。

Python 版本可以通过`python --version`或`python3 --version`命令进行查询。

3.Python 基础语法Python 的基础语法包括变量、常量、运算符、注释等。

Python 中的变量不需要声明类型,它是一种动态类型的语言。

Python 使用缩进来表示代码块,例如:`if x > 10:`。

4.Python 数据类型Python 的数据类型包括数字、字符串、列表、元组、字典和集合等。

这些数据类型具有不同的特点和使用方法。

例如,列表是一种有序、可变的集合,可以使用`[]`来创建。

5.Python 控制流程Python 的控制流程语句包括条件判断(if-elif-else)、循环(for 和while)和分支(try-except)。

这些语句可以帮助程序员控制程序的执行流程。

6.Python 函数和模块Python 函数是一段可重用的代码,用于执行特定任务。

Python 模块是包含 Python 代码的文件,可以被导入并使用其中的函数和变量。

Selenium中文手册

Selenium中文手册Selenium, 手册, 中文Selenium, 手册, 中文Selenium中文手册一、 Commands (命令)Action对当前状态进行操作失败时,停止测试Assertion校验是否有产生正确的值Element Locators指定HTML中的某元素Patterns用于模式匹配1. Element Locators (元素定位器)id=idid locator 指定HTML中的唯一id的元素name=namename locator指定 HTML中相同name的元素中的第一个元素identifier=ididentifier locator 首先查找HTML是否存在该id的元素, 若不存在,查找第一个该name的元素dom=javascriptExpressiondom locator用JavaScript表达式来定位HTML中的元素,注意必须要以"document"开头例如:dom=document.forms['myForm'].myDropdowndom=document.images[56]xpath=xpathExpressionxpath locator用 XPath 表达式来定位HTML中的元素,必须注意要以"//"开头例如:xpath=//img[@alt='The image alt text']xpath=//table[@id='table1']//tr[4]/td[2]link=textPatternlink locator 用link来选择HTML中的连接或锚元素例如:link=The link text在没有locator前序的情况下 Without a locator prefix, Selenium uses: 如果以"document."开头,则默认是使用 dom locator,如果是以"//"开头,则默认使用xpath locator,其余情况均认作identifier locator2. String Matching Patterns (字符串匹配模式)glob:patthernglob模式,用通配符"*"代表任意长度字符,"?"代表一个字符regexp:regexp正则表达式模式,用JavaScript正则表达式的形式匹配字符串exact:string精确匹配模式,精确匹配整个字符串,不能用通配符在没有指定字符串匹配前序的时候,selenium 默认使用golb 匹配模式3. Select Option Specifiers (Select选项指定器)label=labelPattern通过匹配选项中的文本指定选项例如:label=regexp:^[Oo]thervalue=valuePattern通过匹配选项中的值指定选项例如:value=otherid=id通过匹配选项的id指定选项例如: id=option1index=index通过匹配选项的序号指定选项,序号从0开始例如:index=2在没有选项选择前序的情况下,默认是匹配选项的文本二、 Actions描述了用户所会作出的操作。

(word完整版)xpath详解总结,很全面

经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或不太清楚,所以免不了每次总要查一些零碎的知识,感觉即很烦又浪费时间,所以对XPath归纳及总结一下。

在这篇文章中你将能学习到:•XPath简介•XPath 路径表达式详解•XPath在DOM,XSLT及XQuery中的应用XPath简介XPath是W3C的一个标准。

它最主要的目的是为了在XML1.0或X ML1.1文档节点树中定位节点所设计。

目前有XPath1.0和XPath2. 0两个版本。

其中Xpath1.0是1999年成为W3C标准,而XPath 2.0标准的确立是在2007年。

W3C关于XPath的英文详细文档请见:/TR/xpath20/。

XPath是一种表达式语言,它的返回值可能是节点,节点集合,原子值,以及节点和原子值的混合等。

XPath2.0是XPath1.0的超集。

它是对XPath1.0的扩展,它可以支持更加丰富的数据类型,并且X Path2.0保持了对XPath1.0的相对很好的向后兼容性,几乎所有的XPath2.0的返回结果都可以和XPath1.0保持一样。

另外XPath2. 0也是XSLT2.0和XQuery1.0的用于查询定位节点的主表达式语言。

XQuery1.0是对XPath2.0的扩展。

关于在XSLT和XQuery中使用XPath表达式定位节点的知识在后面的实例中会有所介绍。

在学习XPath之前你应该对XML的节点,元素,属性,原子值(文本),处理指令,注释,根节点(文档节点),命名空间以及对节点间的关系如:父(Parent),子(Children),兄弟(Sibling),先辈(Ancestor),后代(Descendant)等概念有所了解。

这里不在说明。

XPath路径表达式在本小节下面的内容中你将可以学习到:•路径表达式语法•相对/绝对路径•表达式上下文•谓词(筛选表达式)及轴的概念•运算符及特殊字符•常用表达式实例•函数及说明这里给出一个实例Xml文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/AAA/CCC/DDD/* 选择所有路径依附于/AAA/CCC/DDD 的元素
<AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD>
</XXX> <CCC>
<DDD> <BBB/> <BBB/> <EEE/> <FFF/>
</DDD> </CCC> <CCC>
<BBB> <BBB> <BBB/> </BBB>
</BBB> </CCC> </AAA>
在 XLab 中打开实例 | 树视图 (JPG)
//*
选择所有元素
<AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </XXX> <CCC> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </CCC> <CCC> <BBB> <BBB> <BBB/> </BBB> </BBB> </CCC>
descendant (后代)轴包含上下文节点的后代,一个后代是指子节点或者子节点的 子节点等等, 因此 descendant 轴不会包含属性和命名空间节点. 实例 13 parent 轴(axis)包含上下文节点的父节点, 如果有父节点的话 实例 14 ancestor 轴(axis)包含上下节点的祖先节点, 该祖先节点由其上下文节点的父节 点以及父节点的父节点等等诸如此类的节点构成,所以 ancestor 轴总是包含有根 节点,除非上下文节点就是根节点本身. 实例 15 following­sibling 轴(axis)包含上下文节点之后的所有兄弟节点 实例 16 preceding­sibling 轴(axis)包含上下文节点之前的所有兄弟节点 实例 17 following 轴(axis)包含同一文档中按文档顺序位于上下文节点之后的所有节点, 除了祖先节点,属性节点和命名空间节点 实例 18 following 轴(axis)包含同一文档中按文档顺序位于上下文节点之前的所有节点, 除了祖先节点,属性节点和命名空间节点 实例 19 descendant­or­self 轴(axis)包含上下文节点本身和该节点的后代节点 实例 20 ancestor­or­self 轴(axis)包含上下文节点本身和该节点的祖先节点 实例 21 ancestor, descendant, following, preceding 和 self 轴(axis)分割了 XML 文档(忽 略属性节点和命名空间节点), 不能交迭, 而一起使用则包含所有节点 实例 22 div 运算符做浮点除法运算, mod 运算符做求余运算, floor 函数返回不大于参数 的最大整数(趋近于正无穷), ceiling 返回不小于参数的最小整数(趋近于负无穷)
/AAA/BBB[1] 选择 AAA 的第一个 BBB 子元素
<AAA> <BBB/> <BBB/> <BBB/> <BBB/>
</AAA> 在 XLab 中打开实例 | 树视图 (JPG)
/AAA/BBB[last()] 选择 AAA 的最后一个 BBB 子元素
<AAA> <BBB/> <BBB/> <BBB/> <BBB/>
<BBB> <BBB> <BBB/> </BBB>
</BBB> </CCC> </AAA>
在 XLab 中打开实例 | 树视图 (JPG)
/*/*/*/BBB
选择所有的有 3 个祖先元素的 BBB 元素
<AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </XXX> <CCC> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </CCC> <CCC>
<AAA> <BBB/> <CCC/>
<BBB/> <BBB/> <DDD>
<BBB/> </DDD> <CCC/> </AAA> 在 XLab 中打开实例 | 树视图 (JPG)
The basic XPath syntax is similar to addressing. If the path starts with the slash / , then it represents an absolute path to the required element. 基本的 XPATH 语法类似于文件系统寻址。 如果以/开头,这表示绝对路径
/AAA Select the root element AAA
<AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> </DDD> <CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/CCC Select all elements CCC which are children of the root element AAA
//BBB[@id='b1'] 选择含有属性 id 且其值为'b1'的 BBB 元素
<AAA> <BBB id = "b1"/>
<BBB name = " bbb "/> <BBB name = "bbb"/> </AAA> 在 XLab 中打开实例 | 树视图 (JPG)
//BBB[@name='bbb'] 选择含有属性 name 且其值为'bbb'的 BBB 元素
<AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/>
</AAA> 在 XLab 中打开实例 | 树视图 (JPG)
//BBB[not(@*)] 选择没有属性的 BBB 元素
<AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/>
<AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> </DDD> <CCC> <DDD> <BBB/> <BBB/> </DDD> </CCC>
</AAA> 在 XLab 中打开实例 | 树视图 (JPG)
>> 实例 3 << | 前页 | 后页
星号 * 表示选择所有由星号之前的路径所定位的元素
</AAA> 在 XLab 中打开实例 | 树视图 (JPG)
//BBB[@id] 选择有 id 属性的 BBB 元素
<AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/>
</AAA> 在 XLab 中打开实例 | 树视图 (JPG)
XPath 官方手册中文版
良少 整理 shendl_s@ /shendl/
来自于 /
XPATH 指南
实例 1 基本的 XPath 语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径 实例 2 如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元 素(无论层级关系) 实例 3 星号 * 表示选择所有由星号之前的路径所定位的元素 实例 4 方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位 置, 而 last()函数则表示选择集中的最后一个元素. 实例 5 实例 6 属性的值可以被用来作为选择的准则, normalize­space 函数删除了前部和尾部 的空格, 并且把连续的空格串替换为一个单一的空格 实例 7 count()函数可以计数所选元素的个数 实例 8 name()函数返回元素的名称, start­with()函数在该函数的第一个参数字符串是 以第二个参数字符开始的情况返回 true, contains()函数当其第一个字符串参数 包含有第二个字符串参数时返回 true. 实例 9 string­length 函数返回字符串的字符数,你应该用&lt;替代<, 用&gt;代替> 实例 10 多个路径可以用分隔符 | 合并在一起 实例 11 child 轴(axis)包含上下文节点的子元素, 作为默认的轴,可以忽略不写. 实例 12
相关文档
最新文档