请教下PB解析几百M的XML怎么才能快速解析

时间:2021-08-11 19:58:57
RT,如果PB不行,有没有其他的快速结束办法,主要PB解析数据量太大经常死掉

8 个解决方案

#1


pb内置的是以dom方式进行解析,dom方式会将文件全部解析后,生成对象,所有对象都保留在内存中,内存占用大。
大文件需要SAX方式,pb没有现成的库,需要自己写,或者用第三方的库。

#2


通过importfile导到数据窗口中再进行处理

#3


引用 2 楼 pb8 的回复:
通过importfile导到数据窗口中再进行处理

用这个不行,主要是XML里有些数据超过的4000字节的



引用 1 楼 pcwe2002 的回复:
pb内置的是以dom方式进行解析,dom方式会将文件全部解析后,生成对象,所有对象都保留在内存中,内存占用大。
大文件需要SAX方式,pb没有现成的库,需要自己写,或者用第三方的库。


我听说过SAX是一条条数据的读的,但是不会java有些。。。

#4


用pb调用java组件不太适合,最好用c++写个dll或者使用pbni使用

#5


该回复于2013-06-29 13:40:53被管理员删除

#6


除了让上家不要发几百M的xml,想不出其它办法了.
几百M的东西,还要解析,最专业的xml处理器也忙不过来

#7


整个几百M的XML,本身就非常愚蠢。

XML只适合小数据量的WEB传输,一般用于从后台数据库的某个(或某些表)里把一个局部的记录集返回给客户端。

用XML盛放几百M的数据,那就相当于每次在用户请求一部分数据时,把整个数据库传给用户一样弱智。

这样在一开始的设计阶段就宣判死刑的解决方案,你就告诉老板,毙掉吧,反正受折磨的是你。如果不是你自己作的这种设计,那你绝对应该也有权让提出这个设计的人给出具体解决方案。

#8


是的,文件太大了。

#1


pb内置的是以dom方式进行解析,dom方式会将文件全部解析后,生成对象,所有对象都保留在内存中,内存占用大。
大文件需要SAX方式,pb没有现成的库,需要自己写,或者用第三方的库。

#2


通过importfile导到数据窗口中再进行处理

#3


引用 2 楼 pb8 的回复:
通过importfile导到数据窗口中再进行处理

用这个不行,主要是XML里有些数据超过的4000字节的



引用 1 楼 pcwe2002 的回复:
pb内置的是以dom方式进行解析,dom方式会将文件全部解析后,生成对象,所有对象都保留在内存中,内存占用大。
大文件需要SAX方式,pb没有现成的库,需要自己写,或者用第三方的库。


我听说过SAX是一条条数据的读的,但是不会java有些。。。

#4


用pb调用java组件不太适合,最好用c++写个dll或者使用pbni使用

#5


该回复于2013-06-29 13:40:53被管理员删除

#6


除了让上家不要发几百M的xml,想不出其它办法了.
几百M的东西,还要解析,最专业的xml处理器也忙不过来

#7


整个几百M的XML,本身就非常愚蠢。

XML只适合小数据量的WEB传输,一般用于从后台数据库的某个(或某些表)里把一个局部的记录集返回给客户端。

用XML盛放几百M的数据,那就相当于每次在用户请求一部分数据时,把整个数据库传给用户一样弱智。

这样在一开始的设计阶段就宣判死刑的解决方案,你就告诉老板,毙掉吧,反正受折磨的是你。如果不是你自己作的这种设计,那你绝对应该也有权让提出这个设计的人给出具体解决方案。

#8


是的,文件太大了。