一、XML概念
历史
1)XML与HTML都属于 W3C
2)由于浏览器的恶性竞争导致HTML的语法非常松散,所以W3C组织推出了XML,但是XML没有竞争过HTML(因为使用HTML不用像XML格式这么严格),所以XML开始与properties竞争,开始存信息。但是properties不能存数组,所以现在WEB开发中XML技术常被用来作一些配置文件
。概念:可扩展标记语言
可扩展:标签都是自定义的,可以自己定义标签,如下所示:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<?xml version="1.0" encoding="UTF-8" ?>
<students>
<student number="heima_0001">
<name id="itcast">
<xing>张</xing>
<ming>三</ming>
</name>
<age>18</age>
<sex>male</sex>
</student>
<student number="heima_0002">
<name>jack</name>
<age>18</age>
<sex>female</sex>
</student>
</students>功能:
存储数据:
- 配置文件
- 在网络中传输
- XML与HTML的区别
1)XML标签都是自定义的,HTML标签是预定义的
2)XML语法非常严格,HTML语法非常松散
3)XML是存储数据,HTML是展示数据
二、XML语法
组成部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<?xml version="1.0" encoding="utf-8" standalone='yes' ?>
<?xml-stylesheet type="text/css" href="a.css"?>
<users>
<!--id值需要唯一-->
<user id="'1">
<name>张三</name>
<age>23</age>
<gander>male</gander>
</user>
<user id="2">
<name>李四</name>
<age>24</age>
<gander>famale</gander>
</user>
<!--CDATA中的数据会原样显示-->
<code>
<![CDATA[
if(a < b && a > c){}
]]]>
</code>
</users>约束
在WEB开发中XML常被用来作为一些配置文件,因此XML文件的编写需要满足一些约束(指定XML的书写规则),方便解析。如下图所示:
- 谁编写xml? —— 用户(程序员);
- 软件使用者 谁解析xml? —— 软件(半成品软件,框架)
- 作为框架的使用者(程序员):
其中约束文档又分为1)能够在xml中引入约束文档 2)能够简单的读懂约束文档
dtd
、Schema
两类:
三、XML解析


- XML常见的解析器
1)JAXP:sun公司提供的解析器,支持dom和sax两种思想
2)DOM4J:一款非常优秀的解析器
3)Jsoup:一款Java的HTML解析器
4)PULL:Android操作系统内置的解析器,SAX方式的
Jsoup学习:

