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语法来定义元素、属性、数据类型、约束和关系,可以进行更复杂的验证和约束。

相关推荐
RussellFans几秒前
Linux 文本三剑客(grep, awk, sed)
linux·运维·服务器
黄雪超11 分钟前
JVM——打开JVM后门的钥匙:反射机制
java·开发语言·jvm
听风吹等浪起15 分钟前
CentOS在vmware局域网内搭建DHCP服务器【踩坑记录】
linux·服务器·centos
有梦想的攻城狮19 分钟前
spring中的@RabbitListener注解详解
java·后端·spring·rabbitlistener
itachi-uchiha21 分钟前
awk处理xml文件&&封装集合变量和调用
xml·shell·awk
李斯维22 分钟前
循序渐进 Android Binder(二):传递自定义对象和 AIDL 回调
android·java·android studio
androidwork23 分钟前
OkHttp 3.0源码解析:从设计理念到核心实现
android·java·okhttp·kotlin
程序员岳焱25 分钟前
Java 程序员成长记(二):菜鸟入职之 MyBatis XML「陷阱」
java·后端·程序员
我命由我1234526 分钟前
Spring Boot 项目集成 Redis 问题:RedisTemplate 多余空格问题
java·开发语言·spring boot·redis·后端·java-ee·intellij-idea
面朝大海,春不暖,花不开27 分钟前
Spring Boot消息系统开发指南
java·spring boot·后端