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

| 我有一个xml结构,如下所示:
<rurl modify=\"0\" children=\"yes\" index=\"8\" name=\"R-URL\">
    <status>enabled</status>
    <rurl-link priority=\"3\">http</rurl-link>
    <rurl-link priority=\"5\">http://localhost:80</rurl-link>
    <rurl-link priority=\"4\">abc</rurl-link>
    <rurl-link priority=\"3\">b</rurl-link>
    <rurl-link priority=\"2\">a</rurl-link>
    <rurl-link priority=\"1\">newlinkkkkkkk</rurl-link>
</rurl>
现在,我要删除一个文本等于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文件中删除sub元素。它让我
<rurl-link/>
有什么建议么?     
已邀请:
您需要执行以下操作:
List<Element> elements = new ArrayList<Element>();

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
。     
如果具有父元素“ 5”,则可以使用removeChild或removeChildren方法删除其子元素。     
使用
removeChild()
http://download.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)     

要回复问题请先登录注册