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"));