xml文件处理经验总结

原创 2007年09月26日 11:41:00

 1.xml文件存储效率不高,存在很大的冗余信息量

excel文件与xml文件的转化是一个指数级的函数关系,如下表所示。

excel文件大小(KB) 转化之后的xml文件大小(KB)
278  557
296  937
1247 22282
4287 236361
10111 747658

      经过winzip的压缩,一个236361kb的xml文件可以被压缩为659kb,压缩比为359:1,这说明了xml的冗余信息量是很巨大的。

     打开excel转换过来的xml文件,就可以看到每描述一个cell的内容,xml都要用60个字符的附加信息。如下所示。<Cell ss:StyleID="s29"><ss:Data ss:Type="String"
      xmlns="http://www.w3.org/TR/REC-html40">aa</ss:Data></Cell> 

    因此,xml的文件的存储或者是上传,一定要做压缩处理,否则其效率是很低的。或者如果可以找到其他替代的存储或者编码格式,例如json,最好可以先考虑。在对效率不敏感的时候,xml才是一个好的选择。

(2)xml处理效率不高,对于大xml文件,无论是dom处理或者是sax处理都不是理想处理方式。

http://developer.51cto.com/art/200604/25541.htm 这篇文章对这个问题有很详细的描述。

http://cavingdeep.cnblogs.com/archive/2006/03/15/350456.html <<新兴XML处理方法VTD-XML介绍>>这篇文章有很好的分析。

基本上的xml的处理是一个很好内存的操作,现在也出现一种新的处理方式vtd-xml.如下所述。

  1. VTD-XML的解析速度是SAX(with NULL content handler)的1.5x~2.0x。With NULL content handler的意思就是说SAX解析中没有插入任何额外的处理逻辑,也就是SAX的最高速度。
  2. VTD-XML的内存占用是原XML的1.3x~1.5x(其中1.0x的部分是原XML,0.3x~0.5x是VTD-XML占用的部分),而DOM的内存占用则是原XML的5x~10x。举一个例子,如果一个XML的大小是50MB,那么用VTD-XML读取进来内存占用会在 65MB~75MB之间,而DOM的内存占用则会在250M~500MB之间。基于这个数据用DOM处理大的XML文件几乎是不可能的选择。

因此,在做xml处理的时候,必须要考虑到内存方面的限制。

(3)xml的编码问题

xml作为一种描述语言,本身会用到特殊符号来作为元描述语言,因此对于这些特殊符号要做另外的处理,否则很容易出错。一般来说,如果是真实的数据内容,都是推荐使用CDATA部件,因为只有在CDATA部件之内的文本会被解析器忽略。但是要注意处理,数据内容的字符"]]>" 或者"<![CDATA[" 。

http://dev.csdn.net/article/68/68417.shtm<<XML指南——XML CDATAXML指南——XML CDATA>>这篇文章就对这个问题作了很好的说明。

 

 

 



   

软件项目管理经验点滴总结

一、研究背景     在这几年的软件项目管理中,一些失败的软件项目给我留下了深刻的印象。后来,我们结合项目管理的知识(参加了信产部《集成系统项目经理》的 培训及美国PMP项目管理的学习...
  • jbjwpzyl3611421
  • jbjwpzyl3611421
  • 2014年06月11日 14:35
  • 10593

java项目开发经验总结

Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点: 1、掌握项目开发的基本步骤 2、具备极强的面向对象的分析与设计技巧 3、掌握...
  • qq_35447305
  • qq_35447305
  • 2016年09月05日 18:02
  • 11353

关于SSM框架体会和小结

前言:使用SSM(spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SS...
  • qq_31783173
  • qq_31783173
  • 2017年07月15日 16:22
  • 2084

PE文件结构处理经验总结

1. IMAGE_DOS_HEADER   Dos头需要注意的有两个字段:e_magic和e_lfanew。其它字段不用管它。这两个字段的意义大家都懂得~      2. IMAGE_NT_HE...
  • zhoujiaxq
  • zhoujiaxq
  • 2014年03月20日 13:59
  • 544

PE文件结构处理经验总结

这个是我原先发在看雪上的一个帖子。 本文不是讲解Pe文件格式的,而是对Pe格式编程时遇到的问题的记录和总结。 如果对Pe文件不是很熟悉,请先查阅其他人写的PE文章。   该贴是我在写...
  • sunyikuyu
  • sunyikuyu
  • 2013年04月21日 22:22
  • 780

Windows 文件过滤驱动经验总结.txt

  • 2007年11月01日 20:36
  • 8KB
  • 下载

Java读写xml文件的一些经验(使用dom4j)

说来惭愧,给很多人说过怎么用Java读写xml,但是自己上手做的很少。这篇博客里面简单总结一下。 据网上很多文章介绍,dom4j是一种常用的xml读写API。不过用的时候首先要注意第一个问题:如...
  • qysh123
  • qysh123
  • 2014年11月01日 13:25
  • 915

python 预处理XML格式文档经验总结

XML(the Extensible Markup Language)格式为设计特定领域的标记语言提供了一个框架,它有时被用于表示已被标注的文本和词汇资源,不同于HTML标签是预定义的,XML允许我们...
  • lalalawxt
  • lalalawxt
  • 2017年03月03日 20:12
  • 238

经验总结-asp.net程序中如何使用swfupload进行大文件上传

  • 2010年06月04日 20:24
  • 188KB
  • 下载

JSR75文件系统使用经验总结

  • 2011年03月15日 09:34
  • 52KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xml文件处理经验总结
举报原因:
原因补充:

(最多只允许输入30个字)