zxhong

我思故我在

张晓红ID:zxhong
29611次访问,排名3626(2)好友2人,关注者11
zxhong的文章
原创 22 篇
翻译 0 篇
转载 0 篇
评论 25 篇
zxhong的公告
个人简介
网名:zxhong
QQ:2500149
E-mail:zxhzxm@21cn.com
来自:广东深圳
最近评论
xishuai392:有没有答案呢????
bao110908:好厉害哦~~
cvsuser:我是做机顶盒开发的,请问ading / zxhong怎么联系呢?
ADING:本人目前正在从事IPTV项目
由于本人及公司实力有限,机顶盒中大部分的功能及硬件都外包出去了,尽管如此,本人对IPTV还是有些了解的

欢迎熟悉,喜欢这方面的朋友和我交流

呵呵
drugon:现在网速还不是很快,有些地方还是不能让人满意。
文章分类
收藏
    相册
    热点问题
    资料与金钱
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 XML解析器SAX,DOM,JDOM,JAXP的优缺点收藏

    新一篇: XML解析器选择建议

    DOM 构建整个文档驻留内存的树。如果文档很大,就会要求有极大的内存。

    DOM 创建表示原始文档中每个东西的对象,包括元素、文本、属性和空格。如果您只需关注原始文档的一小部分,那么创建那些永远不被使用的对象是极其浪费的。

    DOM 解析器必须在您的代码取得控制权之前读取整个文档。对于非常大的文档,这会引起显著的延迟。

    SAX 解析器向您的代码发送事件。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,它会告诉您。您可以决定什么事件对您重要,而且可以决定要创建什么类型的数据结构以保存来自这些事件的数据。如果您没有显式地保存来自某个事件的数据,它就被丢弃。

    SAX 解析器根本不创建任何对象,它只是将事件传递给您的应用程序。如果希望基于那些事件创建对象,这将由您来完成。

    SAX 解析器在解析开始的时候就开始发送事件。当解析器发现文档开始、元素开始和文本等时,代码会收到一个事件。您的应用程序可以立即开始生成结果;您不必一直等到整个文档被解析完毕。更妙的是,如果您只查找文档中某些内容,代码一旦找到所要找的东西就可以抛出一个异常。该异常会停止 SAX 解析器,然后代码用它找到的数据做它需要做的任何事。

    SAX 事件是无状态的。当 SAX 解析器在 XML 文档中发现文本时,它就向您的代码发送一个事件。该事件仅仅给您发现的文本;它不告诉您什么元素包含那个文本。如果您想知道这一点,则必须自己编写状态管理代码。

    SAX 事件不是持久的。如果应用程序需要一个数据结构来对 XML 文档建模,则必须自己编写那样的代码。如果您需要从 SAX 事件访问数据,并且没有把那个数据存储在代码中,那么您不得不再次解析该文档。

    SAX 不是由一个集中管理的组织控制的。尽管到目前为止这还没有引起什么问题,但如果 SAX 是由象 W3C 这样的一个组织控制的话,有些开发人员会感觉更自在。

    JDOM 的主要特性是它极大地减少了您必须编写的代码数量。JDOM 应用程序的长度通常是 DOM 应用程序的三分之一,大约是 SAX 应用程序的一半。

    JAXP为使用 DOMSAX XSLT 处理 XML 文档提供公共接口

    发表于 @ 2005年01月13日 08:03:00|评论(loading...)|编辑

    旧一篇: DTD和XML Schema(XML 模式)的比较

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © zxhong