XML与HTML的区别汇总

XML的基本格式规则

  • 主要规则:
    • XML文档必须格式良好(well-formed)
    • 所有标签必须关闭
    • 标签名称区分大小写
    • HTML内容需要转义
    • 属性值必须使用引号
    • 不能有交叉嵌套

  • XML声明(可选但推荐):
<?xml version="1.0" encoding="UTF-8"?>
  • 根元素:
    • 必须有且只有一个根元素
    • 所有其他元素都必须在根元素内
<root><!-- 所有其他元素 -->
</root>
  • 元素规则:
    • 必须有开始和结束标签
    • 标签区分大小写
    • 标签名不能包含空格
<element>内容</element>
<emptyElement></emptyElement>
<!-- 或自闭合标签 -->
<emptyElement/>
  • 属性规则:
    属性值必须用引号(单引号或双引号)
<element attribute="value">
<item id="1" name="example">
  • 嵌套规则:
    元素必须正确嵌套,不能交叉
<!-- 正确 -->
<outer><inner>内容</inner></outer><!-- 错误 -->
<outer><inner>内容</outer></inner>
  • 特殊字符转义:
&lt;    表示 <
&gt;    表示 >
&amp;   表示 &
&apos;  表示 '
&quot;  表示 "
  • 注释:
<!-- 这是XML注释 -->
  • 完整示例:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>频道标题</title><link>https://example.com</link><description>频道描述</description><item><title>文章标题</title><link>https://example.com/article</link><description>文章描述&lt;br/&gt;包含HTML需要转义</description><pubDate>发布日期</pubDate><author>作者</author></item></channel>
</rss>

XML和HTML的区别

用途对比:

  • HTML:专门用于显示数据和网页展示,更注重实用性和容错性
  • XML:用于存储和传输数据,更注重规范性和可扩展性,是一种通用的数据格式

标签规则:

<!-- HTML: 预定义标签 -->
<p>段落</p>
<div>区块</div>
<span>行内元素</span>
<!-- XML: 自定义标签 -->
<书籍> <标题>XML教程</标题> <作者>张三</作者>
</书籍>

语法严格性:

<!-- HTML: 语法相对宽松 -->
<p>可以不关闭标签
<br>可以单标签
<div>标签可以交叉<p></div></p>
<!-- XML: 语法严格 -->
<paragraph>必须关闭标签</paragraph>
<line-break/>必须自闭合
<outer><inner>不允许交叉嵌套</inner></outer>

大小写敏感性:

<!-- HTML: 不区分大小写 -->
<DIV>等同于<div>
<!-- XML: 区分大小写 -->
<Name><name>是不同的标签

属性值规则:

<!-- HTML: 属性值可以不加引号 -->
<div class=container>
<input type=text>
<!-- XML: 属性值必须加引号 -->
<element attribute="value">
<user type="admin">

空格处理:

  • HTML:多个空格会被合并为一个
  • XML:保留所有空格

文档结构:

<!-- HTML: 固定的文档结构 -->
<!DOCTYPE html>
<html>
<head><title>网页标题</title>
</head>
<body>内容
</body>
</html>
<!-- XML: 灵活的文档结构 -->
<?xml version="1.0" encoding="UTF-8"?>		
<任意根元素><任意子元素> 内容 </任意子元素>
</任意根元素>

特殊字符处理:

<!-- HTML: 可以直接使用特殊字符 -->
<div>< > & " '</div>
<!-- XML: 必须使用转义字符 -->
<text>&lt; &gt; &amp; &quot; &apos;</text>

错误处理:

  • HTML:浏览器会尝试修复错误并继续渲染
  • XML:解析器遇到错误会停止处理并报错

版本兼容:

  • HTML:有多个版本(HTML4, XHTML, HTML5)
  • XML:始终保持一致的规范

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

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

相关文章

C语言 字符数组/多维数组/函数/作用域

1. 遍历数组 遍历数组:通过循环的方式来把数组中的每个元素数据进行查询 使用for循环遍历数组更多一些 数组长度计算: 数组总字节数/元素的数据类型的字节数 数组总字节数/第一个元素的字节数 数组遍历相关的案例:求和,求平均值,求最大值,求最小值,冒泡排序 2. 字符数组 …

Centos7环境下nifi单机部署

Centos7环境下nifi单机部署 前言一、安装Nifi1.1 下载并解压1.2 修改配置文件 二、启动Nifi程序三、Nifi的简单使用3.1 文件移动3.2 本地文件传到HDFS 参考博客 前言 本以为在服务器上部署nifi很简单&#xff0c;跟着教程走就好&#xff0c;但是并没有成功&#xff0c;可能是因…

c++的应用

整理思维导图周五剩下的三个笔试题利用函数重载&#xff0c;实现对整形数组的冒泡排序&#xff0c;对浮点型数组的冒泡排序整理课上内容在堆区申请一个数组的空间&#xff0c;并完成对该数组中数据的输入和输出&#xff0c;程序结束释放堆区空间 冒泡排序效果图&#xff1a; 代…

YOLOv8-ultralytics-8.2.103部分代码阅读笔记-tuner.py

tuner.py ultralytics\engine\tuner.py 目录 tuner.py 1.所需的库和模块 2.class Tuner: 1.所需的库和模块 # Ultralytics YOLO &#x1f680;, AGPL-3.0 license# 模块提供用于对象检测、实例分割、图像分类、姿势估计和多对象跟踪的 Ultralytics YOLO 模型的超参数调整…

【仪器仪表】怎么模拟电池短路、正极开路或负极开路

最近新人需要做一个电池充放电工装的测试验证板。这种验证板需要模拟很多状态,比如电池有可能发生短路、电池的正极开路、电池负极开路、电池内阻上升、电池电压过高、电池电压过低、电池反接等等。 在规划电池短路、正极开路或负极开路的电路时,本来想用一个继电器做线路的开…

FlinkCDC实战:将 MySQL 数据同步至 ES

&#x1f4cc; 当前需要处理的业务场景: 将订单表和相关联的表(比如: 商品表、子订单表、物流信息表)组织成宽表, 放入到 ES 中, 加速订单数据的查询. 同步数据到 es. 概述 1. 什么是 CDC 2. 什么是 Flink CDC 3. Flink CDC Connectors 和 Flink 的版本映射 实战 1. 宽表查…

使用 Glide 加载占位图或错误图时,发现它们没有应用圆角效果--问题解决

如果您在使用 Glide 加载占位图或错误图时,发现它们没有应用圆角效果,可能是因为占位图和错误图的加载方式没有使用自定义的圆角变换。以下是确保占位图和错误图都能显示圆角效果的步骤。 1. 确保自定义变换类正确 首先,确保您的 GlideRoundTransformUtil 类实现正确。以下…

Cobalt Strike 4.8 用户指南-第十二节 可拓展 PE,进程注入和后渗透

12.1、概述 Malleable C2 文件不仅仅是通信指标。Malleable C2 配置文件还能控制 Beacon 的内存特性&#xff0c;决定 Beacon 如何进行进程注入&#xff0c;并影响 Cobalt Strike 的后渗透工作。本章将介绍 Malleable C2 语言的这些扩展。 # 12.2、PE和内存指标 Malleable C…

unity 让文字变形

效果&#xff1a; using TMPro; using UnityEngine; using NaughtyAttributes;[ExecuteInEditMode] public class TMTextPerpective : MonoBehaviour {[OnValueChanged("DoPerspective")][Range(-1f, 1f)]public float CenterBias 0f;[OnValueChanged("DoPers…

NIO - selector简单介绍

一 前言 selector作为NIO当中三大组件之一&#xff0c;是处理NIO非阻塞模式下的核心组件&#xff0c;它允许一个单个线程管理多个通道。 NIO下的阻塞模式 因为对于阻塞模式下的NIO模式&#xff0c;存在很大的问题&#xff0c;即使在单线程下&#xff0c;对应的服务端也会一直进…

C语言:分支结构

C语言&#xff1a;分支结构 分支结构 问题引出 我们在程序设计往往会遇到如下的问题&#xff0c;比如下面的函数的计算 也就是我们是必须要通过一个条件的结果来选择下一步的操作&#xff0c;算法上属于一个分支结构&#xff0c;C语言中实现分支结构主要使用if语句 条件判断…

利用anzocapital昂首资本技术优化订单执行

在金融市场的深海中&#xff0c;anzocapital昂首资本作为内行&#xff0c;深知订单执行的技术缺陷如何悄然侵蚀交易者的利润。那么&#xff0c;一个懂交易的人会如何避免这些缺陷&#xff0c;确保自己的投资策略不被市场波动所左右呢? 在订单执行过程中&#xff0c;技术缺陷可…

数据库基础入门:从零开始学习数据库的核心概念

数据库是现代软件开发的核心组成部分之一&#xff0c;无论是网站、手机应用还是企业管理系统&#xff0c;都离不开数据库的支持。本文将带你从零开始&#xff0c;逐步了解数据库的基本概念和常见操作。 什么是数据库&#xff1f; 数据库&#xff08;Database&#xff09;是一个…

RTR Chaptor11 下

全局光照 定向遮蔽预计算定向遮蔽定向遮蔽的动态计算使用定向屏蔽进行着色 满反射全局光照表面预照明定向表面预照明预计算传输存储方法动态漫反射全局光照光照传播体积基于体素的方法屏幕空间方法其他方法 镜面全局光照局部环境贴图环境贴图的动态更新基于体素的方法平面反射屏…

java如何解析和生成sql?

1.什么是 JSQLParser&#xff1f; JSQLParser 是一个开源的 Java 库&#xff0c;用于解析 SQL 语句并将其转换为抽象语法树&#xff08;AST&#xff09;。它支持多种 SQL 方言&#xff0c;包括 MySQL、PostgreSQL、Oracle 和 SQL Server 等。JSQLParser 使开发者能够轻松地分析…

【Apache Paimon】-- 4 -- Flink 消费 kafka 数据,然后写入 paimon

目录 1、本地开发环境 2、kafka2paimon 实现流程 3、代码实现 3.1、项目名称 3.2、项目结构 3.3、Pom.xml 和 log4j.properties 文件 3.4、代码核心类 3.4.1、入口类:Kafka2PaimonDemo.java 3.4.2、参数解析类 3.4.2.1、JobParameterUtil.java( flink job schedule…

超越DFINE最新目标检测SOTA模型DEIM

代码地址&#xff1a;https://github.com/ShihuaHuang95/DEIM 论文地址&#xff1a;DEIM: DETR with Improved Matching for Fast Convergence 论文中文版&#xff1a;DEIM: 改进匹配的 DETR 以实现快速收敛 以下是文章的主要贡献和发现&#xff1a; DEIM框架&#xff1a;提…

在python中使用布尔逻辑

布尔是python中常见类型。它的值只能是两项内容之一&#xff1a;true或false. 编写"if"语句 若要在python中表达条件逻辑&#xff0c;可以使用if语句。——编写If语句离不开逻辑运算符&#xff1a;等于、不等于、小于、大于或等于、大于和大于或等于。 在python中…

位运算的总结--奇思妙解

目录 前言 先回顾常用的位运算 1&#xff1a;给一个数 n &#xff0c;确定它的二进制表示中的第x位是0 还是 1 2&#xff1a;将一个数 n 的二进制表示的第x 位修改成 1 3&#xff1a;将一个数 n 的二进制表示的第 x位修改成 0 4&#xff1a;与位图联系 5&#xff1a;提取一…

语音识别flask接口开发

要开发一个flask语音识别接口&#xff0c;首先要解决语音文件在网络中的传输问题&#xff0c;然后选识别算法进行识别 文章目录 1、以二进制文件流方式上次语音2、网页端长连接流式上传语音文件3、语音识别接口 1、以二进制文件流方式上次语音 python服务端代码&#xff0c;以…