Ho deciso di implementare l'Abstract List<Node>
. ecco un pezzo di esso:Implementazione della lista <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);
}
}
ma quando provo a add
un nodo, mi dà la seguente eccezione:
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)
è questo a causa della Node root = null;
che fa per aggiungere un nodo a un nodo null? quindi come può essere risolto
ma sembra che stia usando ** org.w3c.dom.Node ** – lonesome
Non so come farlo. quello che voglio dire è che non riesco a scoprire come usare ** com.sun.org.apache.xerces.internal.dom.ParentNode ** e dal momento che nell'ex dei miei programmi ho usato ** org.w3c.dome.Node * * è come farmi usare il casting e poi quando eseguo il programma, nega per consentire il casting e altro. – seventeen
Ho appena analizzato il codice HTML di una pagina, quindi uso la libreria "" tagoup ** per creare il DOM dall'HTML. quindi scegliendo alcuni nodi da quel DOM che vogliono inserirli in un elenco per uso futuro, ma questo problema appare. – seventeen