美文网首页Python
Xpath使用规则

Xpath使用规则

作者: 一曲广陵散 | 来源:发表于2017-03-11 15:58 被阅读297次

引用
维基百科

一,概述

XPath 是XML路径语言(xml path language),是一种用来确定XML文档中某部分位置的语言
XPath 是基于XML的树状结构,提供在数据结构树中找寻节点的能力
起初XPath 的提出初衷是将其作为一个通用的,介于XPointer和XSL间的语法模型
但是XPath很快被开发者采用来当做小型查询语言

二,表示法

最常见的XPath表达式是路径表达式
从一个XML节点(当前的上下文节点)到另一个节点,或者一组节点的书面步骤顺序
这些步骤以 /字符分开,每一步有三个构成部分:
轴描述,用最直接的方式接近目标节点
节点测试,用于筛选节点位置和名称
节点描述,用于筛选节点的属性和子节点的特征

一般情况下,我们使用简写后的语法,虽然完整的轴描述是一种更加贴近人类语言,
利用自然语言的单词和语法书写的描述方式,但是相对比较啰嗦

2.1 简写后的语法

最简单的XPath是 /A/B/C
这里选择所有符合规矩的C节点,C节点必须是B的子节点B/CB节点是A节点的子节点
A是这个XML文档的根节点(/A
此时的这种描述法类似于磁盘中的文件的路径,从盘符开始顺着一级一级的目录最终找到文件
下面的例子,包含了所有构成成分A//B/*[1]
此时选择的元素是,在B节点下的第一个节点(B/*[1]),不论节点的名称如何(*),
B节点必须出现在A节点中,不论和A节点之间相隔几层节点(//B
与此同时A节点还必须是当前节点的子节点(A,前面没有/)

2.2 啰嗦的语法

在未缩写的语法中,上面的例子可以写为
/child::A/child::B/child::C
child::A/descendant-or-self::B/child::node()[1]
在XPath的每个步骤中,通过完整的轴描述进行明确的指定,然后使用::,后面跟着节点测试的内容

三,轴描述语法

轴描述元表示XML文件分支树表达式的浏览方向,这些坐标包括全名和缩写语法

关于使用attribute 坐标简写语法的一个范例
//a/@href在文件树里面任何地方的元素下选择了一个叫 href的属性
self坐标最通常与术语同用,参考现行选定节点
h3[.='see also']在现行上下文选取了叫h3的元素,该元素的文字内容是see also

四,节点测试

节点测试包括特定节点名或者更加一般的表达式
至于XML里命名空间前缀gs已经定义的文件,//gs:enquiry将找到所有在命名空间里
enquiry的节点
comment()寻找XML注释节点,例如``
text()寻找某点的文字类型,例如hello<k>hello</k>
processing-instruction()寻找XML处理指令如<?php echo $a; ?>
这个例子中,符合processing-instruction('php')会返回值
node()寻找所有点

五,节点描述

节点描述为一个逻辑真假表达式,任何真假判断表达式都可以在节点后方括号中

相关文章

  • Xpath使用规则

    引用维基百科 一,概述 XPath 是XML路径语言(xml path language),是一种用来确定XML文...

  • PMD - 用 XPath 开发代码规则

    在 PMD 的使用过程中,可以用 Java 或 XPath 来开发代码规则。 本文讲述如何使用 XPath 来开发...

  • _xpath 精准使用规则

    使用text()来做标记,用来确定位置. 测试文本 我们为了获取,第一个文本 需要在此基础上我们获取它的父节点下面...

  • XPath

    Xpath常用规则

  • 4.xml中Xpath的使用

    1.Xpath使用的规则 2. Xpath的使用,通过id来查找一个对象 3.给xml文件中插入一个对象的生成xml文档

  • Scrapy Shell辅助工具IPython

    工具名称IPython 使用·scrapy·时经常需要进入·scrapy·终端使用·xpath·测试规则是否能获取...

  • python爬虫之xpath

    一. python使用xpath 使用时先安装 lxml 包 二. xpath简介 XPath,全称 XML Pa...

  • PMD - 用 Java 开发代码规则

    在 PMD 的使用过程中,可以用 Java 或 XPath 来开发代码规则。 本文讲述如何使用 Java 来开发。...

  • lxml结合xpath注意事项

    1.使用Xpath语法,应该使用Element.xpath方法,来执行xpath选择 示例代码如下: 2.获取某个...

  • python爬虫之XPath解析

    XPath 简介: XPath 是一门在 XML 文档中查找信息的语言 什么是 XPath? XPath 使用路径...

网友评论

    本文标题:Xpath使用规则

    本文链接:https://www.haomeiwen.com/subject/mgwagttx.html