XML的打包与解析

本文介绍了XML的特点,强调了其独立于编程语言、易于数据组织和改变。接着,详细讨论了XML解析的两种主要技术——DOM和SAX,包括它们的工作原理、优缺点以及适用场景。DOM解析将XML文件加载到内存,适合小文件和需要全解析的情况,而SAX使用事件驱动,节省资源,适用于大型文件和部分解析。最后,提供了DOM和SAX的实例应用,帮助读者更好地理解和掌握XML解析。
摘要由CSDN通过智能技术生成

 

XML的打包与解析

一、XML语言的特点
       1、XML独立于任何编程语言,允许人们按接收者容易解析的方式,对复杂数据进行编码。先来看一个简单的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中我们可以这样:

[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 中的一本书:

[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 处理方式。当然,为了能提供更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值