首页 新闻 会员 周边 捐助

操作大的xml文件

0
悬赏园豆:20 [已关闭问题] 关闭于 2008-06-23 12:54
大概几百兆的xml文件,通过xpath解析之后插入数据库。<br><br>用document 肯定是不可以了,直接内存爆炸了。<br>用xmlreader的话,因为涉及到xpath,所以也不可行。<br><br>不知道大家有没有什么好的办法,<br><br>目前想到的解决办法大概有以下几种,<br>1, 先拆分xml文件为n个小的xml文件,分别解析插入。<br>2, 通过dataset读取,据说这样有可能速度比较快,待测试。<br>3, 通过xslt转换,因为只需要原来xml文件的部分节点的value,所以可以想通过xslt弄出来个小的xml文件,然后在用document解析插入,只是大概的想法,不知道可行不。<br>4, 通过oracle的xml字段的支持。将xml整体读入oracle的一个字段,通过oracle解析,对于oracle目前还不太熟悉,待测试?<br><br>请教大家有没有好的办法。<br>
问题补充: 写好写啊 我直接将我要写的作为流给写进去就可以了。 但是读因为要通过一定的xpath去读,这就很郁闷了,而且xml本身的结构就比较复杂,通过xmlreader的方式还读不了。 我也在纳闷,为什么不用关系数据库存,而偏偏要用什么xml文件!客户就给这样的xml文件了,最后郁闷的还是我们程序员啊。。。 btw: 目前暂时找到了临时的解决方案,大概差不多是方案1的变种。 因为xml文件是当数据库来用的,所以根节点下的二层节点是基本相同的! 在这个前提的基础上,使用了xmltextreader 读取 深度为二的节点,然后,大概100条左右形成一个新的文件,再用xmldocment 解析,基本实现了功能。 不过这种功能还是不是很好的一种实现!!!
xiao_p的主页 xiao_p | 小虾三级 | 园豆:608
提问于:2008-06-16 11:54
< >
分享
所有回答(5)
0
我在想,你这个几百兆的XML文件是怎么产生的?能写进去,却读不出来?
丁学 | 园豆:18730 (专家六级) | 2008-06-16 12:46
0
你这个几百兆的XML文件是怎么产生的?那么大啊....
Jared.Nie | 园豆:1940 (小虾三级) | 2008-06-16 13:12
0
我只遇到过十来兆的xml文件,就够我头疼的了。。。。。
West | 园豆:1095 (小虾三级) | 2008-06-17 08:59
0
一个土办法,把XML文件当成普通文本文件,进行字符串处理
高博 | 园豆:295 (菜鸟二级) | 2008-06-17 09:05
0
XmlReader 很好啊 复杂是肯定的 空间和效率之间不可能都达到完美
Zealic | 园豆:200 (初学一级) | 2008-06-17 12:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册