删除节点时encount DOMException

时间:2011-09-22 12:11:55

标签: java android

我在导航Document对象时删除了一个特殊节点的DOMException.HIERARCHY_REQUEST_ERR,并在google这个错误代码之后,它说:

“HIERARCHY_REQUEST_ERR:如果此节点的类型不允许具有newChild节点类型的子节点,或者要插入的节点是此节点的祖先或此节点本身之一,或者此节点是类型Document和DOM应用程序尝试插入第二个DocumentType或Element节点“

我检查了要删除的节点类型,Element和Text类型都会导致异常

这是我的代码

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document dom = builder.parse(new ByteArrayInputStream(smil.getBytes()));

        Element root = dom.getDocumentElement();

        Node node = root.getFirstChild();
        dom.removeChild(node);

它去了

org.w3c.dom.DOMException

at org.apache.harmony.xml.dom.InnerNodeImpl.removeChild(InnerNodeImpl.java:180)

1 个答案:

答案 0 :(得分:4)

我发现一种方法可以解决这种情况

更改

    dom.removeChild(node);

    node.getParentNode().removeChild(node);

它似乎对我有用: - )