Java 删除xml文件中的数据无法正常工作

Java 删除xml文件中的数据无法正常工作,java,xml,Java,Xml,我正在开发一个XML编辑器,当用户单击某个类型上的delete时,应用程序将删除整个类型。 但这不仅仅是删除内容,而是留下标签 <type> <OBJECT_TYPE/> <prop/> <param/> <param/> <param/> <param/> <param/> <param/> <param/> <param/> <param/> <

我正在开发一个XML编辑器,当用户单击某个类型上的delete时,应用程序将删除整个类型。 但这不仅仅是删除内容,而是留下标签

<type>
<OBJECT_TYPE/>
<prop/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
<param/>
</type>
<type>
<OBJECT_TYPE/>
<prop/>
<param/>
<param/>
<param/>
</type>
<type>
<OBJECT_TYPE/>
<prop/>
<param/>
<param/>
</type>

所以基本上所有的数据都消失了,但它留下了这些标签,我也想对它们进行深入研究。 怎么做

我的代码:

NodeList type = (NodeList) doc.getElementsByTagName("type").item(x);
            System.out.println("type : " + type);

            for (int i = 0; i < type.getLength(); i++) {

                Node curNode = (Node) type.item(i);
                System.out.println(" Node name : " + curNode.getChildNodes());
                removeChilds(curNode);

            }

            // Save the new update
            save(doc);

public static void removeChilds(Node node) {
        while (node.hasChildNodes())
            node.removeChild(node.getFirstChild());
    }
NodeList type=(NodeList)doc.getElementsByTagName(“type”).item(x);
System.out.println(“类型:“+type”);
对于(int i=0;i
我认为您在DOM树导航中做得不对。
已经为
标记返回了一个
节点
。您只需删除它:

Node type = doc.getElementsByTagName("type").item(x);
type.getParentNode().removeChild(type);
这就是您在代码中所做的-您正在将
节点
强制转换为
节点列表
(xml元素也是子节点列表),因此您的
for
循环将迭代
的子节点。然后在每个子项中(例如示例中的
prop
param
)再次迭代子项并删除每个子项。因此,您永远不会删除
类型
节点