新手求教:如何使用普通配置的电脑解析大型XML文件,时间要求8mins左右,文件大概为300万行?

请教如何使用普通配置的电脑解析大型XML文件,时间要求在8mins左右,文件大小大概为50MB,大约300万行
大概结构是这样的:

<File>
<header>
......
<header />
<content>
<name>
<1 > ... <1 />
<2 > ... <2 />
……
<185> ... <185 />
<name />
<value>
<1 > ... <1 />
<2 > ... <2 />
……
<185> ... <185 />
<value />
<value>
<1 > ... <1 />
<2 > ... <2 />
……
<185> ... <185 />
<value />
……
value不断重复,文件行数达到300万行
……
<value>
<1 > ... <1 />
<2 > ... <2 />
……
<185> ... <185 />
<value />
<content />
<File />

望赐教!

阅读 6k
5 个回答

取决于你的XML类型了……如果你的XML是一个嵌套着另一个,比如

<0>
    <1>
        <...>
            <999999... />
        <... />

假如使用DOM的方式解析,那么300万行就是够呛了。这时候就需要使用SAX而不是DOM的方式解析XML。

但如果是:

<0 />
<1 />
<... />

这种情况(无论使用哪种解析方式)毫无压力,呵呵!

总之,在未知XML形式或XML文件较大的情况下,使用SAX来解析而不是DOM,是一个明智的选择。

没压力,50M全部写到内存处理也无妨,8分钟绝对够了,你先把程序写出来,然后按照瓶颈进行优化。

请输入图片描述

用XML數據庫 =.=

解决方法:不要用普通电脑来解析。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
101 新手上路
子站问答
访问
宣传栏