当前位置: 首页 > article >正文

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.kler.cn/a/429347.html

相关文章:

  • 仿射密码实验——Python实现(完整解析版)
  • 计算机组成原理(计算机系统3)--实验二:MIPS64乘法实现实验
  • Python在DevOps中的应用:自动化CI/CD管道的实现
  • 【混合开发】CefSharp+Vue 解决Cookie问题
  • flutter R库对图片资源进行自动管理
  • 微信小程序订阅消息提醒-云函数
  • 【TensorFlow】基本概念:张量、常量、变量、占位符、计算图
  • 碰撞算法9 --线段与线段的碰撞
  • MinIO分布式文件存储
  • Vue3中的ref函数
  • ThinkPHP框架审计--基础
  • 树莓派3B+驱动开发(5)- pinctrl和gpio子系统
  • 技术岗面试准备总结
  • STM32F103 Keil 库函数工程创建
  • STM32F103单片机HAL库串口通信卡死问题解决方法
  • 【考前预习】1.计算机网络概述
  • hive:Cannot truncate non-managed table table_name
  • 利用深度纹理实现运动模糊
  • 17.字符串大小比较
  • 组件上传图片不回显问题
  • 反向代理后Request.Url.AbsoluteUri获取成了内网IP
  • YOLOv8改进,YOLOv8引入CARAFE轻量级通用上采样算子,助力模型涨点
  • mHand Pro动捕数据手套,赋予手部虚拟交互沉浸式极致体验
  • Ubuntu防火墙管理(六)——ARP防火墙过滤防御自定义系统服务
  • RFDiffusion中的ContigMap类介绍
  • linux 命令获取apk 的安装应用的包名