如何在java中使用jdom从节点中删除子节点?

我有一个xml结构如下:

 enabled http http://localhost:80 abc b a newlinkkkkkkk  

现在,我想删除一个子节点,其中text等于http。 目前我正在使用此代码:

 while(subchilditr.hasNext()){ Element subchild = (Element)subchilditr.next(); if (subchild.getText().equalsIgnoreCase(text)) { message = subchild.getText(); update = "Success"; subchild.removeAttribute("priority"); subchild.removeContent(); } 

但它并没有从xml文件中完全删除子元素。 它离开了我

  

有什么建议?

你需要这样做:

 List elements = new ArrayList(); while (subchilditr.hasNext()) { Element subchild = (Element) subchilditr.next(); if (subchild.getText().equalsIgnoreCase(text)) { elements.add(subchild); } } for (Element element : elements) { element.getParent().removeContent(element); } 

如果您尝试删除循环内的元素,您将获得ConcurrentModificationException

如果您有父元素rurl ,则可以使用removeChild或removeChildren方法删除其子元素。