XML基础知识速成

一·什么是XML?

XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。

--XML是自我描述的,意味着数据本身包含了描述数据结构和语义的信息。

--XML支持复杂的数据结构,可以定义自己的标签,非常适合于文档的长期存储。

--XML文件格式是纯文本格式

--XML的简单易于在任何应用程序中读/写数据,这使XML很快成为数据交换语言(此类语言主要包括XML,JSON等,常用于接口调用,配置文件,数据存储等场景。

二·XML的语法规则

1.必须要由声明语句:

用于指明XML版本和编码

<?xml version="1.0" encoding="UTF-8"?>

2.区分大小写

XML需要进行大小写区别,大写字母A和小写字母a是不同的标记。

3.根元素:

紧接着后面声明建立的第一个元素,其他元素都是这个根元素的子元素

XML只有一个根元素,它必须包含所有其他元素。

根元素必须正确闭合,开始标签和结束标签需要匹配。

根元素的起始标记要放在所有其他元素的起始标记之前;根元素的结束标记要放在所有其他元素的结束标记之后。

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book>
        <title>Example Book</title>
        <author>John Doe</author>
        <price>29.99</price>
    </book>
    <book>
        <title>Another Book</title>
        <author>Jane Smith</author>
        <price>19.99</price>
    </book>
</bookstore>

<bookstore> 是根元素,它包含了所有的<book>子元素。

每个<book>元素代表一本书,并且包含<title>、<author>和<price>子元素,这些子元素包含了书的标题、作者和价格信息。

根元素<bookstore>正确地包含了所有的内容,并且是文档中唯一的最顶层元素。

开始标签:<title> 定义了 title 元素的开始。

结束标签:</title> 定义了 title 元素的结束。

4.属性值使用引号:

在 XML 中,属性值必须被引号包裹,这是 XML 规范的一部分。使用引号的目的是为了区分属性值的开始和结束。XML 支持两种类型的引号来包裹属性值:单引号(')和双引号(")。

<element attribute="value" />

<element attribute='value' />

5.特殊字符:

某些特殊字符(如`<`、`>`、`&`、`'`和`"`)必须使用预定义的实体引用(如`&lt`、`&gt`、`&amp`、`&apos`和`&quot`)或字符引用来表示。

小于号 <:用于标记元素的开始。​​​​​​​

-实体引用:&lt;

大于号 >:用于标记元素的结束。

-实体引用:&gt;

和号 &:用于引入实体引用。

-实体引用:&amp;

双引号:" , 用于属性值的定界符。

-实体引用:&quot;

单引号:' , 

-实体引用:&apos;

6.标签嵌套:

元素标签可以嵌套,形成层次结构,但必须正确闭合,避免重叠或嵌套错误。

<school>
    <class id="1A">
        <teacher>王老师</teacher>
        <student id="1">
            <name>小明</name>
            <age>12</age>
        </student>
        <student id="2">
            <name>小红</name>
            <age>11</age>
        </student>
    </class>
    <class id="1B">
        <teacher>李老师</teacher>
        <student id="1">
            <name>小刚</name>
            <age>12</age>
        </student>
        <student id="2">
            <name>小芳</name>
            <age>12</age>
        </student>
    </class>
</school>

<school> 是根元素,包含了学校中的所有班级。

每个 <class> 元素代表一个班级,并且包含了 <teacher> 和多个 <student> 子元素。

每个 <student> 元素包含了 <name> 和 <age> 子元素,描述了学生的名字和年龄。

7.空元素:

表示存在。可以用来表示某个实体或属性的存在,即使没有具体的数据或子元素需要包含。

<meeting>
    <room>101</room>
    <participants>
        <participant>Alice</participant>
        <participant>Bob</participant>
    </participants>
    <audio-visual-equipment>
        <projector/>
        <screen/>
    </audio-visual-equipment>
    <refreshments/>
</meeting>

​​​​​​​<projector/> 和 <screen/> 是空元素,表示会议室预订时包括了投影仪和屏幕,但不需要进一步指定详细信息。

<refreshments/> 也是一个空元素,可能表示预订时包括了茶点或小吃,但具体内容未指定。

三·JSON和XML对比。

JSON与XML的比较:​​​​​​​

可读性:JSON的格式更简洁,更易于机器处理、阅读和编写。XML则较为冗长,包含更多的标记。但是XML适合人类阅读

解析难易:解析 XML 可能比解析 JSON 复杂,因为 XML 解析器需要处理标签、属性和可能的命名空间。解析 JSON 通常更简单,因为它的结构更简单,大多数编程语言都有内置的 JSON 解析器。

数据结构:JSON的结构更接近于编程语言中的字典或对象,而XML则更像是一种标记语言。

扩展性:XML可以通过定义自己的标签来扩展,适合复杂的数据结构。JSON则更简单,但扩展性不如XML。

用途:JSON常用于Web开发中的API和轻量级的数据交换。XML则常用于配置文件、文档存储和企业级的数据交换。

例子对比:

​​​​​​​XML: 

<book>
    <title>python基础</title>
    <author>张三</author>
    <year>2021</year>
    <price>45.00</price>
</book>

JSON:

{
    "title": "python基础",
    "author": "张三",
    "year": 2021,
    "price": 45.00
}

​​​​​​​​​​​​​​

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值