实现List <Node>

sev*_*een 5 java dom list nodelist

我决定实现摘要List<Node>.这是它的一部分:

import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

    public class myNodeList implements NodeList{


    Node root = null;
    int length = 0;

    public myNodeList() {}   
    public void addNode(Node node) {  
        if(root == null)   
        {
            root = node;  
               }
          else          
         root.appendChild(node);   
        length++;   
        System.out.println("this is the added node " +node);
    }      
     } 
Run Code Online (Sandbox Code Playgroud)

但是当我尝试add一个节点时,它给了我以下异常:

Exception in thread "main" org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. 
at com.sun.org.apache.xerces.internal.dom.NodeImpl.insertBefore(NodeImpl.java:478)
at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(NodeImpl.java:235)
at pageparsertest.myNodeList.addNode(myNodeList.java:27)
Run Code Online (Sandbox Code Playgroud)

这是因为Node root = null;它将节点添加到空节点?那怎么可以修复

sev*_*een 0

好吧,这很尴尬,但我改变了我的想法来实现它,而是使用了static List<Node> listOfNodes = new ArrayList<Node>(); 对我来说效果很好的方法!