XML 学习笔记

news2024/9/22 9:32:19

简介: 

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

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

菜鸟XML教程:

XML 教程 | 菜鸟教程XML 教程 XML 指可扩展标记语言(eXtensible Markup Language)。 XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据。 XML 很重要,也很容易学习。 现在开始学习 XML! XML 实例 XML 文档第一行以 XML 声明开始,用来表述文档的一些信息,如: XML 定义结构、存储信息、传送信息。 XML 文档实例 [mycode3 type='..icon-default.png?t=N7T8https://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)使用与语法:

①使用 绝对路径 查找: 

 

②使用  相对路径 查找: 

③匹配查找: 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1974080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微积分-微分应用7(优化问题)

解决优化问题的步骤&#xff1a; 理解问题 首先要仔细阅读问题&#xff0c;直到完全理解。问问自己&#xff1a;未知数是什么&#xff1f;已知量是什么&#xff1f;给定的条件是什么&#xff1f; 画图 在大多数问题中&#xff0c;画图并在图中标出给定和所需的量是有用的。 引…

用闲置的阿里云服务器使用 NPS 实现内网穿透

最近有个项目需要给外地的同事预览一下&#xff0c;但是公司没有可以公网访问的测试服务器&#xff0c;所以想到用内网穿透的方式让外地同事可以访问到我的本机。刚好我有一台阿里云的服务器&#xff0c;双十一打折买了3年&#xff0c;1000左右&#xff0c;2核8G&#xff0c;买…

24年税务师考试补报名即将开始啦

⏰税务师补报名重要时间节点 1⃣️补报名时间&#xff1a;8月6日10:00至8月16日17:00 2⃣️补报名缴费时间&#xff1a;8月6日10:00至8月18日24&#xff1a;00 3️⃣准考证打印时间&#xff1a;10月28日10:00至11月3日15:00 4⃣️考试时间&#xff1a;11月2日、3日 ✅税务…

c#中的BitConverter的java实现

最近在做c#项目的java迁移&#xff0c;发现部分C#方法java中没有对应实现如图&#xff1a; 且java中的数字类型都是有符号的所以转无符号的时候需要进行手动对符号位& 0xFFFF进行处理&#xff0c;目前只整理了项目中使用到的方法&#xff0c;后续有用到其他方法在进行追加如…

HarmonyOS 与 OpenHarmony 的区别详解

随着科技的不断进步&#xff0c;操作系统在我们日常生活中的重要性日益凸显。华为推出的 HarmonyOS 和 OpenHarmony 正是当前备受关注的两大操作系统。它们虽然紧密相关&#xff0c;但在理念、目标和应用场景上有显著的区别。本文将详细探讨这两者的不同之处。 一、概念解析 …

C++复习的长文指南(二)

C复习的长文指南&#xff08;二&#xff09; 一、面向对象基础知识5. 文件操作5.1文本文件5.1.1写文件5.1.2读文件 5.2 二进制文件5.2.1 二进制文件5.2.2 二进制读文件 6. c面向对象的个人心得开发流程6.16.26.36.46.5注意细节6.16.26.3 二、泛型编程1. 模板1.1 模板的概念1.2 …

GRFB UNet——基于多尺度注意网络盲道检测算法实现与模型C++部署

1. 概述 盲道是视障人士安全出行的重要辅助设施。识别盲道的形状和位置&#xff0c;对于增强视障人士的自主移动能力至关重要&#xff0c;而视觉分割技术正是应对这一挑战的有效工具。为了显著提升盲道分割的精确度和稳定性&#xff0c;本文提出了一种创新的分割方法&#xff…

OpenShift 4 - 用 oc-mirror 为离线 OpenShift 集群的 Mirror Registry 同步容器镜像

《OpenShift / RHEL / DevSecOps 汇总目录》 本文适合 OpenShift 4.11 及其以上版本。 文章目录 在离线环境中用 OpenShift 准备 Mirror Registry环境说明向隔离环境复制镜像准备节点环境bastion 节点操作support 节点操作 网络完全隔离环境-复制镜像bastion 节点操作support …

[图解]掉杠·above...duty -《分析模式》漫谈20

1 00:00:01,650 --> 00:00:05,120 今天我们来说一下《分析模式》和掉杠 1 00:00:00,480 --> 00:00:02,800 还是前言这里&#xff0c;有一句话 2 00:00:02,810 --> 00:00:04,850 I will mention 3 00:00:04,860 --> 00:00:05,250 that 4 00:00:05,680 --> 00…

【Golang 面试 - 进阶题】每日 3 题(十四)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

实战:MySQL数据同步神器之Canal

1.概叙 场景一&#xff1a;数据增量实时同步 项目中业务数据量比较大&#xff0c;每类业务表都达到千万级别&#xff0c;虽然做了分库分表&#xff0c;每张表数据控制在300W以下&#xff0c;但是效率还是达不到要求&#xff0c;为了提高查询效率&#xff0c;打算使用ES进行数…

Java面试题--JVM大厂篇之破解Java性能瓶颈!深入理解Parallel GC并优化你的应用

目录 引言&#xff1a; 正文&#xff1a; 1. 理解Parallel GC的工作原理 2. 配置Parallel GC 3. 监控和分析GC日志 4. 常见调优技巧 5. 持续迭代和优化 结束语&#xff1a; 补充考虑 1. 综合考虑吞吐量与响应时间 2. 评估和优化垃圾回收频率 3. 动态调整与自适应策…

定期自动巡检,及时发现机房运维管理中的潜在问题

随着信息化技术的迅猛发展&#xff0c;机房作为企业数据处理与存储的核心场所&#xff0c;其运维管理的复杂性和挑战性也与日俱增。为确保机房设备的稳定运行和业务的连续性&#xff0c;运维团队必须定期进行全面的巡检。然而&#xff0c;传统的手工巡检方式不仅效率低下&#…

【卷积神经网络】基于CIFAR10数据集实现图像分类【构建、训练、预测】

文章目录 1、内容简介2、CIFAR10 数据集2.1、数据集概述2.2、代码使用2.2.1、查看数据集基本信息2.2.2、数据加载器2.2.3、完整代码 3、搭建图像分类网络&#x1f53a;3.1、网络结构⭐3.2、代码构建网络⭐ 4、编写训练函数4.1、多分类交叉熵损失函数&#x1f53a;4.2、Adam&…

泛微开发修炼之旅--41Ecology基于触发器实现增量数据同步(人员、部门、岗位、人员关系表、人岗关系表)

一、需求背景 我们在项目上遇到一个需求&#xff0c;需要将组织机构数据&#xff08;包含人员信息、部门信息、分部信息、人岗关系&#xff09;生成的增量数据&#xff0c;实时同步到三方的系统中&#xff0c;三方要求&#xff0c;只需要增量数据即可。 那么基于ecology系统&a…

【C++高阶】:C++11的深度解析上

✨ 心似白云常自在&#xff0c;意如流水任东西 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f4…

数说故事|引爆社媒的森贝儿IP,品牌如何实现流量变现?

以可爱、雅痞、贱萌......的外表加魔性舞姿出圈的可爱小狗——森贝儿贵宾犬Milo&#xff0c;用“可爱微怒”的表情演绎着当代打工人的“疯态”&#xff0c;并迅速晋升成不少打工人高频使用的表情包。 最近几年&#xff0c;“萌系”爆款IP频出&#xff0c;用小动物的形象、可爱…

一键生成视频并批量上传视频抖音、bilibili、腾讯(已打包)

GenerateAndAutoupload Github地址&#xff1a;https://github.com/cmdch2017/GenerateAndAutoupload 如何下载&#xff08;找到最新的release&#xff09; https://github.com/cmdch2017/GenerateAndAutoupload/releases/download/v1.0.1/v1.0.1.zip 启动必知道 conf.py …

Redis学习[5] ——Redis过期删除和内存淘汰

六、Redis过期键值删除 6.1 Redis的过期键值删除策略 6.1.1 什么是过期键值删除&#xff1f; Redis中是可以对key设置过期时间的&#xff0c;所以需要有相应的机制将已过期的键值对删除&#xff0c;也就是**过期键值删除策略。Redis会用一个过期字典&#xff08;expires dic…

如何改网络的ip地址:实用方法与步骤解析

在数字化时代&#xff0c;网络IP地址作为设备在互联网上的唯一标识&#xff0c;其重要性不言而喻。然而&#xff0c;在某些特定场景下&#xff0c;如网络测试、隐私保护或突破地域限制等&#xff0c;我们可能需要更改网络IP地址。那么&#xff0c;如何安全、有效地实现这一操作…