在导航Document对象以删除特定节点时,我统计了DOMException.HIERARCHY_REQUEST_ERR,在google这个错误代码之后,它说:
HIERARCHY_REQUEST_ERR:如果此节点的类型不允许为newChild节点类型的子节点,或者如果要插入的节点是此节点的祖先之一或此节点本身,或者如果此节点的类型为Document并且DOM应用程序尝试插入第二个DocumentType或元素节点,则引发此异常。
我已经检查了要移除的节点类型,元素和文本类型都会导致异常
以下是我的代码
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)发布于 2011-09-23 10:37:59
我发现有一种方法可以解决这种情况。
变化
dom.removeChild(node);至
node.getParentNode().removeChild(node);它似乎对我很有效:-)
https://stackoverflow.com/questions/7514544
复制相似问题