XML基础知识讲解

文章目录

  • [1. xml简介](#1. xml简介)
  • [2. xml快速入门](#2. xml快速入门)
  • [3. xml的元素(标签)定义](#3. xml的元素(标签)定义)
  • [4. xml标签的命名规范](#4. xml标签的命名规范)
  • [5. xml的属性定义和注释](#5. xml的属性定义和注释)
  • [6. 转义字符](#6. 转义字符)
  • [7. CDATA区](#7. CDATA区)
  • [8. xml的处理指令](#8. xml的处理指令)
  • [9. xml的约束](#9. xml的约束)

1. xml简介

XML(eXtensible Markup Language)是一种用于描述数据的标记语。

它以纯文本的方式存储数据,并使用标签来标记数据的结构和含义。XML被设计用于传输和存储数据,同时也可作为配置文件和数据交换的格式

2. xml快速入门

创建一个xml文档,必须要有文档说明且必须放在第一行

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
  • version(必须要有): 表示xml的版本(1.0和1.1)

    • 注: 1.1不会向下兼容,一般都是1.0
  • encoding(可选): 表示xml的编码格式,例如:UTF8,GBK等

xml使用示例:

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<root>
    <person>111</person>
</root>

对于xml文档,可以使用浏览器打开

3. xml的元素(标签)定义

  1. xml文档中只能有一个根标签

  2. 用户可自定义标签,例如:<person></person>

    • 结束标签比开始标签多了一个 /
  3. 标签的定义有开始必须要有结束

  4. 标签必须是合理嵌套

4. xml标签的命名规范

  1. 标签区分大小写
  2. 标签不能以数字或者下划线开头
  3. 不能以xml等关键字开头
  4. 不能包含空格
  5. 名称中间不能有:

注: xml在解析时会把空格和换行都当成内容来处理

5. xml的属性定义和注释

属性定义:

  • 每个标签可以有多个属性,但是属性不能相同
  • 属性和属性之间要使用引号(单引号或双引号)
  • 属性名称的命名规范和元素名称的命名规范相同

示例:

注释:

xml 复制代码
<!-- 注释内容   -->

注释不能嵌套

6. 转义字符

在XML中,有几个特殊字符被认为是保留字符,不能直接在文本中使用,而是需要使用转义字符来表示。

以下是XML中常见的转义字符:

  • &lt; - 表示小于号 <
  • &gt; - 表示大于号 >
  • &amp; - 表示和符号 &
  • &quot; - 表示双引号 "
  • ' - 表示单引号 '

示例:

7. CDATA区

CDATA(Character Data)区是XML中的一个特殊区域,用于包含文本数据,其中可以包含任何字符,包括XML保留字符和特殊字符,而不需要进行转义。

CDATA区是由<![CDATA[开始,以]]>结束。

xml 复制代码
    <![CDATA[

    ]]>

CDATA区中的内容将被视为纯文本,不会被解析为XML标记。CDATA区常用于包含包含特殊字符或大量文本的数据,以避免不必要的转义。

示例:

8. xml的处理指令

XML中,处理指令是用来指导XML解析器或其他处理工具对XML文档进行处理的指令。它们以<?开始,以?>结束,并位于XML文档的开头。

常见的XML处理指令包括:

  1. XML声明:<?xml version="1.0" encoding="UTF-8"?>。这是XML文档的第一个处理指令,用于指定XML版本和字符编码。
  2. 样式表处理指令:<?xml-stylesheet type="text/xsl" href="style.xsl"?>。用于引用XSL样式表,用于对XML文档进行转换和呈现。
  3. 实体处理指令:<!ENTITY name "value">。用于定义实体,可以在XML文档中引用并展开为对应的值。
  4. 命名空间处理指令:xmlns:prefix="namespace"。用于定义命名空间和命名空间前缀,以在XML文档中标识元素和属性的命名空间。

这些处理指令可以向XML解析器提供关于XML文档的附加信息,或者指示如何处理XML文档。处理指令通常出现在XML文档的开头,但不是必需的。

9. xml的约束

xml的约束就是指xml中可以出现哪些元素以及不能出现哪些元素

常见的两种约束:

  1. DTD
  2. schema

DTD是一种基本的XML约束语言,用于定义XML文档的元素、属性和实体,以及它们之间的关系和约束。DTD使用一组规则来验证XML文档的结构和内容,确保它们符合DTD中定义的规范。
Schema是一种更强大和灵活的XML约束语言,用于定义XML文档的结构、数据类型和约束。XML Schema使用XML语法来定义元素、属性、数据类型、约束和关系,可以进行更复杂的验证和约束。

相关推荐
哎呦没17 分钟前
SpringBoot框架下的资产管理自动化
java·spring boot·后端
m0_571957582 小时前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
魔道不误砍柴功4 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2344 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨4 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
2401_850410835 小时前
文件系统和日志管理
linux·运维·服务器
测开小菜鸟6 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
一只哒布刘7 小时前
NFS服务器
运维·服务器
P.H. Infinity7 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天7 小时前
java的threadlocal为何内存泄漏
java