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)使用与语法:

①使用 绝对路径查找:

②使用 相对路径 查找:

③匹配查找:

相关推荐
我要吐泡泡了哦31 分钟前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫12332 分钟前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
贾saisai3 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫3 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
烟雨666_java3 小时前
JDBC笔记
笔记
GEEKVIP3 小时前
Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
android·笔记·安全·macos·智能手机·电脑·笔记本电脑
铁匠匠匠4 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
Moliay5 小时前
【资料分析】刷题日记2
笔记·公考·行测·常识·资料分析
架构文摘JGWZ6 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
小齿轮lsl6 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab