一、XML语言的特点
1、XML独立于任何编程语言,允许人们按接收者容易解析的方式,对复杂数据进行编码。先来看一个简单的XML格式的文件:
1
2
3
4
5
6
|
< note >
< to >George</ to >
< from >John</ from >
< heading >Reminder</ heading >
< body >Don't forget the meeting!</ body >
</ note >
|
对于程序员来说,很容易读懂这是什么意思,很明显这是传递给他人的一个便签,如果我们写出下面这样:
George
John
Reminder
Don't forget the meeting!
虽然最终从XML中提取出来就是上面的内容,但是我们从上面的内容根本看不出这是什么。
2、数据做成XML有助于改变其内容
如果我们现在想再添加一项:时间。在XML中我们可以这样:
1
2
3
4
5
6
7
|
< note >
< to >George</ to >
< from >John</ from >
< heading >Reminder</ heading >
< body >Don't forget the meeting!</ body >
< time >2012-12-03</ time >
</ note >
|
在我们解析的时候,只要从对应的标签“time”找就行,非常方便!这样的特点,有助于组织复杂的数据。
3、XML 与 HTML 的主要差异
XML 不是 HTML 的替代,XML 和 HTML 为不同的目的而设计,XML 被设计为传输和存储数据,其焦点是数据的内容。HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。HTML的标记不是所有的都需要成对出现,XML则要求所有的标记必须成对出现,HTML标记不区分大小写,XML则 大小敏感,即区分大小写。
4、上图表示下面的 XML 中的一本书:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
< bookstore >
< book category = "COOKING" >
< title lang = "en" >Everyday Italian</ title >
< author >Giada De Laurentiis</ author >
< year >2005</ year >
< price >30.00</ price >
</ book >< book category = "CHILDREN" >
< title lang = "en" >Harry Potter</ title >
< author >J K. Rowling</ author >
< year >2005</ year >
< price >29.99</ price >
</ book >< book category = "WEB" >
< title lang = "en" >Learning XML</ title >
< author >Erik T. Ray</ author >
< year >2003</ year >
< price >39.95</ price >
</ book >
</ bookstore >
|
二、XML的解析技术
1、大名鼎鼎的DOM技术
说它大名鼎鼎可是一点不为过,DOM 是 W3C 处理 XML 的标准 API,它是许多其它与 XML 处理相关的标准的基础,不仅是 Java,其它诸如 Javascript,PHP,MS .NET 等等语言都实现了该标准, 成为了应用最为广泛的 XML 处理方式。当然,为了能提供更