首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

有用QT做个XML解析的吗?问个有关问题

2012-04-27 
有用QT做个XML解析的吗?问个问题项目要用到QT解析xml文件来读取各个设备的相关信息现在解析100个设备,存在

有用QT做个XML解析的吗?问个问题
项目要用到QT解析xml文件来读取各个设备的相关信息
现在解析100个设备,存在一个大概650K的xml文件中,需要耗时12~13秒时间
老大的意思,解析这么大一个文件应控制到3秒之内
我用的QXmlStreamReader类做的解析
参考的是qt4 demo中的例子
用while循环从头到尾遍历一遍xml文件

请问有用QT做过xml文件解析的XD,我这样的解析速度正常吗?
如果慢了,有什么其他的方法可以改善解析的效率吗?

[解决办法]
XML的解析主要有两大模型:SAX和DOM。其中SAX是基于事件的,其基本工作流程是分析XML文档,当发现了一个新的元素时,产生一个对应事件,并调用相应的用户处理函数。这种方式占用内存少,速度快,但用户程序相应得会比较复杂。

而DOM(文档对象模型),则是在分析时,一次性的将整个XML文档进行分析,并在内存中形成对应的树结构,同时,向用户提供一系列的接口来访问和编辑该树结构。这种方式占用内存大,速度往往慢于SAX,但可以给用户提供一个面向对象的访问接口,对用户更为友好。

请参考SAX Bookmars该例。

热点排行