有关jdom生成xml时OutOfMemory的问题

qiaoqin_101 2007-01-09 10:34:41
程序片段:

Element table = new Element("table");//生成元素table
Element data = new Element("data");//生成元素data
data.setAttribute("name", "数据");
for(int j=0;j<list.size();j++){
Map map = (Map)list.get(j);
Element record = new Element("record");
for(int k=0;k<map.size();k++){
Element item = new Element("item");
item.setText(map.get(key).toString());
record.addContent(item);
}
data.addContent(record);
}
table.addContent(data);
root.addContent(table);


当程序运行到record.addContent(item);时就会抛出java.lang.OutOfMemoryError的错误

这个问题已经困扰我两天了
help me!
...全文
240 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiaoqin_101 2007-01-15
  • 打赏
  • 举报
回复
标准的应该是

<item name="name">a</item>
qiaoqin_101 2007-01-15
  • 打赏
  • 举报
回复
有时还会出现这种情况:

<itm name="name">a</item>
<item name="name">b</itm>

我都快被xml搞抓狂了
qiaoqin_101 2007-01-13
  • 打赏
  • 举报
回复
是list很大吗?
我现在是一个表中有2000条记录,我做一个循环,每次取500条放在list中,然后按这种方法生成xml文件 前2次的时候还能过去,等到了的三次的时候就会在record.addContent(item);报错抛出内存溢出,后来增大虚拟机内存,但总感觉治标不治本。
如果是list很大的话,我每次都把list分开成几个list,感觉还会出现这个问题的
xstom19 2007-01-10
  • 打赏
  • 举报
回复
list太大了,批量添加list,一次append几十个。
或者用sax
icecy 2007-01-10
  • 打赏
  • 举报
回复
你那个list有多大~这个方法不是很好,内存益处,

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧