相关疑难解决方法(0)

为什么我不能删除我刚发现的子元素?NOT_FOUND_ERR

我正在构建一个脚本,它必须修补XML文件,包括用另一个元素替换一个元素列表.以下函数将补丁(包含可能为空的同名元素列表)应用于父元素的同名元素列表(也可能是空列表).(这只是修补逻辑的一小部分).

为什么,当我运行代码时,是否会出现以下错误?

org.w3c.dom.DOMException: NOT_FOUND_ERR: An attempt is made to reference a node in a context where it does not exist.
    at com.sun.org.apache.xerces.internal.dom.ParentNode.internalRemoveChild(ParentNode.java:503)
    at com.sun.org.apache.xerces.internal.dom.ParentNode.removeChild(ParentNode.java:484)
    at CombineSweeps$PTReplaceNodeList.apply(CombineSweeps.java:514)
Run Code Online (Sandbox Code Playgroud)

(第514行标记如下.)据我所知,我刚刚验证了元素是否存在(因为NodeList是实时的,它的第一个条目将始终是下一个匹配或null).有趣的是,这并不总是一个问题.

private static class PTReplaceNodeList extends PTBase {
    private final String name;
    private final String nextElement;
    private final List<Node> childList;

    ...

    int apply(Document document, Node parent, Node node_unused) {
        NodeList nodes;
        // A marker for where to insert our nodes.
        // We make a guess using nextElement (if null, means at end).
        Node refNode …
Run Code Online (Sandbox Code Playgroud)

java xml removechild getelementsbytagname

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

getelementsbytagname ×1

java ×1

removechild ×1

xml ×1