XPath 节点概述

news/2024/7/5 4:57:20
XPath 是一门在 XML 文档中查找信息的语言。

XPath 术语

节点

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。

请看下面这个 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book><title lang="en">Harry Potter</title><author>J K. Rowling</author>
<year>2005</year><price>29.99</price>
</book>
</bookstore>

上面的XML文档中的节点例子:

<bookstore>  (文档节点)
<author>J K. Rowling</author>  (元素节点)
lang="en" (属性节点)

基本值(或称原子值,Atomic value)

基本值是无父或无子的节点。

基本值的例子:

J K. Rowling"en"

项目(Item)

项目是基本值或者节点。

节点关系

父(Parent)

每个元素以及属性都有一个父。

在下面的例子中,book 元素是 title、author、year 以及 price 元素的父:

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

子(Children)

元素节点可有零个、一个或多个子。

在下面的例子中,title、author、year 以及 price 元素都是 book 元素的子:

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

同胞(Sibling)

拥有相同的父的节点

在下面的例子中,title、author、year 以及 price 元素都是同胞:

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

先辈(Ancestor)

某节点的父、父的父,等等。

在下面的例子中,title 元素的先辈是 book 元素和 bookstore 元素:

<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>

后代(Descendant)

某个节点的子,子的子,等等。

在下面的例子中,bookstore 的后代是 book、title、author、year 以及 price 元素:

<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>

 


http://lihuaxi.xjx100.cn/news/279655.html

相关文章

手把手教你学单片机,学完马上能自己编写开发程序

大家好&#xff0c;我是无际单片机编程的徐老师&#xff0c;今天给大家分享一下51单片机学习。 给大家分享一下怎么学习单片机&#xff0c;同时给大家推荐相应的学习课程。 学习单片机&#xff0c;我们要分几个步骤&#xff1a; 第一步&#xff1a;买一个学习开发板&#xf…

【SpringMVC】与权限拦截器冲突导致的Cors跨域设置失效问题

问题描述 前端域名FE.com向后端域名BE.com分别请求访问优惠券的列表和提交新增的优惠券&#xff0c;API设计所用的Method分别为Get和Post&#xff0c;结果为前一次访问成功而后一次访问失败。这两次请求都是跨域请求&#xff0c;其中请求1包含一个Get请求&#xff0c;请求2本应…

酷炫 | 比较6种类型和14种数据可视化工具

作者 | 神秘的铁头娃来源 | FineReport编译 | AI算法与图像处理&#xff08;ID&#xff1a;AI_study&#xff09;【导读】随着大数据时代的降临&#xff0c;企业和组织对数据的需求发生变化&#xff0c;因此五花八门的可视化工具开始层出不穷。那么面对这么多的可视化工具&…

单片机学不会怎么办?单片机从哪里开始学?

大家好&#xff0c;我是无际单片机编程的徐导。 说起单片机学不会怎么办&#xff1f;就想起我自己一些学习的辛酸史。 我做单片机开发10余年了&#xff0c;单片机硬软件开发自然是很熟练了。 但做其他的工作可是一窍不通&#xff0c;在上家公司工作的时候&#xff0c;公司有…

Linux 技巧:让进程在后台可靠运行的几种方法

想让进程在断开连接后依然保持运行&#xff1f;如果该进程已经开始运行了该如何补救&#xff1f; 如果有大量这类需求如何简化操作&#xff1f; 我们经常会碰到这样的问题&#xff0c;用 telnet/ssh 登录了远程的 Linux 服务器&#xff0c;运行了一些耗时较长的任务&#xff0c…

Spring Cloud Alibba教程:Sentinel的使用

点击上方“方志朋”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;什么是SentinelSentinel&#xff0c;中文翻译为哨兵&#xff0c;是为微服务提供流量控制、熔断降级的功能&#xff0c;它和Hystrix提供的功能一样&#xff0c;可以有效的解决微服务调用产生的…

入机器学习大坑,需要什么样的数学水平?

选自medium作者&#xff1a;Benjamin Obi Tayo机器之心编译 参与&#xff1a;小舟、杜伟作为一门基础性学科&#xff0c;数学在数据科学和机器学习领域都发挥着不可或缺的作用。数学基础是理解各种算法的先决条件&#xff0c;也将帮助我们更深入透彻地了解算法的内在原理。所以…

单片机要学多久才能自己开发?学单片机以后做什么?

大家好&#xff0c;我是无际单片机编程的徐工。 要说学多久才能自己开发&#xff0c;不妨我给大家分享一下我的单片机学习之路。 我学习单片机一方面是因为大一的时候进入了学校电子大赛实验室&#xff0c;另一方面是因为我从中学开始就对电子比较感兴趣&#xff0c;单片机又…