`
tsinglongwu
  • 浏览: 229639 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jdom删除节点报JAVA.UTIL.CONCURRENTMODIFICATIONEXCEPTION

阅读更多
jdom删除节点时报异常:JAVA.UTIL.CONCURRENTMODIFICATIONEXCEPTION


后来查了一下http://java.mblogger.cn/zzjie/posts/16422.aspx,删除Map或者Collection的时候,不要直接调用API的删除方法,而是调用Iterator的remove()方法删除元素:

              
 Element root = doc.getRootElement();
		
		List items = root.getChildren();
		Element itemRem = null;
		for (Iterator it = items.iterator(); it.hasNext();) {
			Element item = (Element)it.next();
			if (itemId.equals(item.getAttributeValue("id"))) {
				it.remove();
				itemRem = item;
				break;
			}
		}
    //root.removeContent(3);  //删除第三个元素,从1开始,可以省略上面的先集合删除步骤
    root.removeChild(itemRem.getAttributeValue("id"));  //不能省略上面的集合删除步骤

    XMLOutputter out = new XMLOutputter(Format.getPrettyFormat().setIndent(
				"	"));
    out.output(doc, new FileOutputStream("diskInfo.xml"));

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics