XML 学习笔记

简介:

**(1)XML:**可扩展性标记语言,用于传输和存储数据,而不是展示数据,是W3C 推举的数据传输格式。

  • XML的标签必须自定义,但是在写标签名的时候一定要有含义。
  • XML 只能有一个根节点!

菜鸟XML教程:

XML 教程 | 菜鸟教程XML 教程 XML 指可扩展标记语言(eXtensible Markup Language)。 XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据。 XML 很重要,也很容易学习。 现在开始学习 XML! XML 实例 XML 文档第一行以 XML 声明开始,用来表述文档的一些信息,如: XML 定义结构、存储信息、传送信息。 XML 文档实例 [mycode3 type='..https://www.runoob.com/xml/xml-tutorial.html

标准的 XML 数据格式:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<id>1</id>
<name>张三</name>
<age>30</age>
<gender>男</gender>
<email>zhangsan@example.com</email>
<department>技术部</department>
<insurance>
<item>养老保险</item>
<item>医疗保险</item>
<item>失业保险</item>
<item>工伤保险</item>
<item>生育保险</item>
</insurance>
<housingFund>3000</housingFund>
<enterpriseAnnuity>1000</enterpriseAnnuity>
</employee>
<employee>
<id>2</id>
<name>李四</name>
<age>28</age>
<gender>男</gender>
<email>lisi@example.com</email>
<department>市场部</department>
<insurance>
<item>养老保险</item>
<item>医疗保险</item>
<item>失业保险</item>
<item>工伤保险</item>
<item>生育保险</item>
</insurance>
<housingFund>2500</housingFund>
<enterpriseAnnuity>800</enterpriseAnnuity>
</employee>
</employees>

根元素: <employees> 是根元素,表示所有员工信息的集合。

子元素:每个 <employee> 元素表示一个员工的信息。

属性:每个 <employee> 下有多个子元素,包括 id、name、age、gender、email 和 department,分别表示员工的ID、姓名、年龄、性别、电子邮件和部门。

保险信息:<insurance> 元素下可以包含多个 <item> 元素,用于列出员工的五项保险。

住房公积金和企业年金:包含 <housingFund> 和 <enterpriseAnnuity> 元素,分别表示住房公积金和企业年金的金额。

(2)XML 主要功能:

  1. 程序之间的数据传输通讯;
  2. 配需文件 config.xml;
  3. data.xml 存储数据,充当小型数据库

XML 数据格式最主要的功能: 数据传输------>规范数据格式,使数据具有结构性,易读易处理

(3)XML 和 HTML有哪些不一样?

HTML 标签不能自定义,XML 标签只能自定义;

HTML 语法要求不严格;XML 语法要求极其严格,必须是成对标签;

HTML 用来展示数据,XML 用来传输和存储数据


XML基本语法

(1)语法规则:

XML 必须有根节点 ------> 根节点就是其他所有节点的父级节点;

XML 头声明:不强制要求,可有可无,但建议书写;

标签名大小写敏感(区分大小写) ;

标签不允许交叉。

特殊字符使用实体转义,在 XML 中需要转义的字符有:


XML 属性

**属性:**表示标签自身的一些额外信息。在解析 XML 数据时,属性会带来额外的解析代码(多了一步,比较麻烦)

属性规则:

  1. 一个标签可以有多个属性,属性的值必须使用引号引起来;
  2. 命名规则: 数字字母下划线,数字不能开头;

CDATA:

**用处:**用于表示包含在XML文档中的纯文本数据的一种机制,这些数据不被解析器解析为XML标记。用CDATA节可以避免特殊字符(如 < 和 &)对XML解析产生干扰

**注意:**特殊字符较少时,使用实体替换,较多时使用 cdata


PHP 解析 XML 文档

XML 是一种数据传输格式,当 PHP 接收到的数据就是一段 XML 的时候,我们的 PHP 应该怎么处理 XML 数据呢?

在 PHP5 版本以后,其提供了一个非常非常强大的类库,SimpleXML 类库,专门用于实现对 XML 文档的解析操作。

(1)XML在解析步骤:

①读取XML文档到内存;

②形成DOM树结构;

③生成SimpleXML对象。

(2)PHP 解析 XML 后返回对象的注释:

(3)遍历 XML 数组:

(4)添加节点:


案例:

读取以下数据:


XPath

**(1)概述:**XPath:一门专门用来查找X,数据内容的一门语言------>用来在 XML 文档中对元素及属性进行遍历

(2)使用与语法:

①使用 绝对路径查找:

②使用 相对路径 查找:

③匹配查找:

相关推荐
Non importa5 分钟前
用滑动窗口代替暴力枚举:算法新手的第二道砍
java·数据结构·c++·学习·算法·leetcode·哈希算法
以孝治家行动14 分钟前
学孝道故事 传家国情怀——慈明学校以孝治家阳光家教中心开展线上学习
学习·以孝治家·正能量
全栈陈序员14 分钟前
【Python】基础语法入门(十八)——函数式编程初探:用 `map`、`filter`、`reduce` 和 `lambda` 写出更简洁的代码
开发语言·人工智能·python·学习
光通信学徒22 分钟前
爬youtube视频笔记
笔记
就叫飞六吧1 小时前
Spring 框架中的 Bean 继承:`parent` 属性 (XML配置)
xml·java·spring
Jack___Xue1 小时前
LangChain实战快速入门笔记(三)--LangChain使用之Chains
人工智能·笔记·langchain
浮游本尊1 小时前
React 18.x 学习计划 - 第九天:React 18高级特性和最佳实践
前端·学习·react.js
摇滚侠1 小时前
Redis 零基础到进阶,类型概述,命令查询,key 操作命令,大小写和帮助命令,string,list,hash,set,笔记11-19
redis·笔记·哈希算法
阿蒙Amon1 小时前
JavaScript学习笔记:5.函数
javascript·笔记·学习
ouliten1 小时前
《Linux C编程实战》笔记:mmap
linux·c++·笔记