博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从 XML 到 XPath
阅读量:4977 次
发布时间:2019-06-12

本文共 1243 字,大约阅读时间需要 4 分钟。

XPath是 W3C(World Wide Website Consortium) 的一个标准。它最主要的目的是为了在 XML1.0 或 XML1.1 文档节点树中定位节点所设计。

XPath 即为 XML 路径语言,它是一种用来确定 XML(标准通用标记语言的子集,XML:Extensive Markup Language)文档中某部分位置的语言。XPath 基于 XML 的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于 XPointer 与 XSLT(eXtensible Stylesheet Language + Transformation) 间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言

0. 所谓节点

节点(node),是 XML 文件的最小构成单位,一共分成 7 种:

  • element(元素节点)
  • attribute(属性节点)
  • text (文本节点)
  • namespace (名称空间节点)
  • processing-instruction (处理命令节点)
  • comment (注释节点)
  • root (根节点)

1. XPath 上下文

  • 当前节点(./):
    如./sender表示选择当前节点下的sender节点集合(等同于下面所讲的”特定元素”,如:sender)
  • 父节点(../):
    如../sender表示选择当前节点的父节点下的sender节点集合
  • 根元素(/):
    如/messages表示选择从文档根节点下的messages节点集合.
  • 根节点(/*):
    这里的*是代表所有节点,但是根元素只有一个,所以这里表示根节点。/*的返回结果和/messages返回的结果一样都是messages节点。
  • 递归下降(//):

2. 一个 XML 实例

先看一个XML实例文档。

Harry Potter
29.99
Learning XML
39.95
  • bookstore :选取 bookstore 元素的所有子节点。
  • /bookstore :选取根节点bookstore,这是绝对路径写法。
  • bookstore/book :选取所有属于 bookstore 的子元素的 book元素,这是相对路径写法。
  • //book :选择所有 book 子元素,而不管它们在文档中的位置。
  • bookstore//book :选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。
  • //@lang :选取所有名为 lang 的属性。

转载于:https://www.cnblogs.com/mtcnn/p/9423080.html

你可能感兴趣的文章
POJ 1459 Power Network(最大流入门)
查看>>
UVA1204 Fun Game
查看>>
libpointmatcher的filter
查看>>
(线段树) Count the Colors --ZOJ --1610
查看>>
recvmsg和sendmsg函数
查看>>
深度图像检测算法总结与对比(4)
查看>>
Android SDK无法更新问题解决(转)
查看>>
C项目实践--贪吃蛇(1)
查看>>
在生产环境使用Docker部署应用
查看>>
tween.js
查看>>
bzoj 5287: [Hnoi2018]毒瘤
查看>>
AtCoder Grand Contest 006 F - Blackout
查看>>
Win CE 6.0 获取手持机GPS定位1----基础知识 (C#)
查看>>
Typora 自定义主题 修改左右间距
查看>>
Js循环绑定checkBox
查看>>
day20 Python 实现的广度优先搜索实现迷宫算法
查看>>
遍历树形结构的所有叶子节点中特定属性值,并且放入一个数组中
查看>>
新的开始
查看>>
go语言实战教程:Redis实战项目应用
查看>>
设计模式之Singleton
查看>>