我在导航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)
答案 0 :(得分:4)
我发现一种方法可以解决这种情况
更改
dom.removeChild(node);
到
node.getParentNode().removeChild(node);
它似乎对我有用: - )