JavaWeb学习篇—XML基础

目录

一、XML简介:

二、HTML 和 XML的对比

三、XML的语法规则:

3.1 标签

3.2 属性:

3.3 注释:

3.4 文档声明及XML的解码过程:

3.5 转移字符

3.6 CDATA块 --- 批量转译

四、XML的树形结构:

五、XML的作用

5.1 可以作为配置文件去使用

5.2 作为小型数据库使用

5.3 XML可以把数据从HTML中分离出来

5.4 简化平台变更


一、XML简介:

  • XML的全称为EXtensible Markup Language(可扩展标记语言);
  • XML和HTML看起来很像,但是功能完全不同;(HTML基础
  • XML是用来存储、传输数据的 ;
  • XML中的标签是自己定义的 ;

和HTML不同,HTML侧重于数据的显示,XML侧重于数据的存储和传输,因此,在浏览器中打开的XML文件并不像HTML那样;例子如下

二、HTML 和 XML的对比

  • XML 比 HTML的结构更严谨
  • 功能不同:

HTML:HTML的功能主要是数据显示,常用作写静态网页

XML:主要功能是用于数据存储和数据传输,常用作配置文件使用

  • XML 的标签是自定义标签;HTML中的标签可以是自定义标签,也可以是HTML中已经定义过的标签

三、XML的语法规则:

先来看一个简单的XML

3.1 标签

(1)xml的标签必须是成对出现<> ... </> (在html中有些标签不用成对出现)
(2)在没有定义命名空间的情况下,不能直接在标签中使用冒号,如:<stu:dent> ... </stu:dent>
(3)标签不能以数字开头,可以用下划线开头

(4)标签中不能出现空格,如<stu dent> ... </stu dent>

(5)xml的标签对大小写铭感(比如<aaa> ... </aaa> 和 <Aaa>...</Aaa>是不同的)

(6)当有多层标签的时候,标签之间的嵌套必须正确嵌套   如:<a><b>...</a></b>是错误的,要写成<a><b>...</b></a>才行(html中可以不用正确嵌套)

(7)xml中的属性值必须加引号(html中可以没有)

3.2 属性:

  • 属性名称 = “属性值”;属性值可以使用单引号或者双引号包含起来
  • 一般情况下,在没有指定TDT/Schema 约束的时候,属性名称可以重复

3.3 注释:

XML注释和HTML注释格式一样: <!-- 注释内容 -->

3.4 文档声明及XML的解码过程:

XML 声明文件的可选部分,如果存在   需要放在文档的第一行

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

解码过程:

3.5 转移字符

在xml中有些字符有特殊含义,比如:<  > 

在xml的文本中不能出现在这些有特殊含义的字符,因此就需要用到转义字符

符号转义字符
<&lt;
>&gt;
&&amp;
'&apos;
"&quot;

 

 

 

 

 

 

 

如果不使用转义字符会报错:

使用转移字符:

3.6 CDATA块 --- 批量转译

批量转译:CDATA  当有一大部分文本信息需要转译的时候使用转移字符就比较麻烦,因此可以使用CDATA块

CDATE语法:

<![CDATA[
    要转译的内容
    ...
]]>
在解析上面这部分内容的时候,编译器会忽略掉CDATA块中的内容

注意:

  • 在CDATA的内容中,不能包含字符串“]]>”,也不允许嵌套使用CDATA块
  • 在CDATA的结尾部分(]]>)里面不能包含空格或者换行符

四、XML的树形结构:

在编写xml标签的时候,必须要定义一个跟标签,它下面的所有其他标签都是它的子标签,例子如下:

五、XML的作用

5.1 可以作为配置文件去使用

配置文件:xxx.properties(后缀名为.properties的文件),其中的内容为key = value的形式

5.2 作为小型数据库使用

例如:作为一个存储一个学生信息的小型数据库

<?xml version = "1.0" encoding = "utf-8"?>
<student_img>
    <student id="01">
        <name>haha</name>
        <gender>男</gender>
        <age>18</age>
        <email>aaa@qq.com</email>
    </student>
    
    <student id="02">
        <name>xixi</name>
        <gender>女</gender>
        <age>16</age>
        <email>bbb@qq.com</email>
    </student>
    
    <student id="01">
        <name>pili</name>
        <gender>男</gender>
        <age>20</age>
        <email>ccc@qq.com</email>
    </student>
    
    <student id="01">
        <name>pala</name>
        <gender>男</gender>
        <age>17</age>
        <email>ddd@qq.com</email>
    </student>
</student_img>

通过java程序将以上xml文件中的student标签中的内容解析为一个student类的对象就可以实现将一个xml文件作为一个小型数据库使用

5.3 XML可以把数据从HTML中分离出来

如果我们在使用THML写静态网页的时候,每次数据发生改变的话,我们只能通过修改HTML文件来改变网页的数据结果显示,这样的话就会耗费我们大量的时间和精力。

通过XML,我们可以让HTML中的数据独立的存储在XML中,然后通过几行简单的JavaScript代码,就可以读取一个外部的XML文件,从而更新网页的数据内容。这样的话我们就可以单独的专注于HTML的布局和显示,而不用不断的更新HTML的底层数据。

5.4 简化平台变更

当我们从一个系统升级到另一个系统时,必须转换大量的数据,不兼容的数据经常会丢失。

XML数据以文本格式存储,。这使得XML在不损失数据的情况下更容易扩展或升级到新的操作系统、新的应用程序以及浏览器。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值