24小时热门版块排行榜    

查看: 1691  |  回复: 6

冰域逐梦

银虫 (初入文坛)

[求助] dom4j如何处理700M大小的xml文件

dom4j如何处理700M大小的xml文件,从pubmed上下载的XML文件,想把摘要部分提出来,但是程序运行之后内存就会溢出,用小一点的测试数据程序是可以正常运行的,求高手指点
回复此楼
冰域逐梦
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youxikun

银虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 欢迎常来程序语言看看 2012-05-02 06:42:10
没搞过这么大的文件,仅仅提供个想法。
修改dom4j源码,分段读取文件或者用内存映射。
不知道可行不
2楼2012-05-02 00:46:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sein_tao

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
调一下JVM的内存大小试试看。
很大的文件的话还是自己按流的方式去处理吧。不要一次读到内存中。
3楼2012-05-06 00:01:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sein_tao

金虫 (小有名气)

【答案】应助回帖


xzhdty: 金币+1, 欢迎常来 2012-05-06 06:42:59
4楼2012-05-06 00:09:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wizardfan

至尊木虫 (著名写手)

优秀版主

【答案】应助回帖

1. java -Xms1024m -Xmx1024m AppName 把内存设置搞大点就行了。
2. 还有如果有些object不用了的话, 设为null,并运行gc()
3. 用基于jaxb的类库,那个对内存要求很小
5楼2012-07-13 03:14:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

笨猫的项圈

新虫 (初入文坛)

XML的解析方式:
 1.DOM(Document Object Model 文档对象模型)
 关键字:树(Document)
 优点: 把xml文件在内存中构造树形结构,可以遍历和修改节点
 缺点: 如果文件比较大,内存有压力,解析的时间会比较长
2. SAX(Simple API for Xml 基于XML的简单API)
 关键字:流(Stream)
 把xml文件作为输入流,触发标记开始,内容开始,标记结束等动作
 优点: 解析可以立即开始,速度快,没有内存压力
 缺点: 不能对节点做修改
后者触发式解析是不是符合你的要求?
6楼2012-08-13 11:47:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

uniqak47

铜虫 (初入文坛)

【答案】应助回帖

5楼正解。
SAX适合对大型xml等结构化文件进行操作,自己做好标记控制就行,不需要在内存中构造全部树结构
好好学英语
7楼2012-10-30 09:15:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 冰域逐梦 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 什么时候开奖? +4 CrisMessi 2026-08-18 4/200 2026-08-19 00:53 by gatelove
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 27/1350 2026-08-18 21:44 by Noways
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +3 瞬息宇宙 2026-08-15 3/150 2026-08-18 21:40 by xiaohuixin
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 9/450 2026-08-18 20:09 by 奶牛小黑
[基金申请] 朋友圈看到的 +4 wangzilk 2026-08-18 5/250 2026-08-18 19:25 by wangzilk
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +51 医学老男孩 2026-08-13 110/5500 2026-08-18 19:07 by icerianxia
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳变了,能看出什么问题? +8 基诺咪客 2026-08-17 11/550 2026-08-18 17:13 by 悠然熊猫
[基金申请] 重要消息,中午系统在维护 +9 yuleib84 2026-08-18 10/500 2026-08-18 16:52 by archvillain
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
信息提示
请填处理意见