Ich beschloss, die Zusammenfassung List<Node>
zu implementieren. hier ist ein Stück davon:Implementieren der Liste <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);
}
}
aber wenn ich zu add
einen Knoten versuchen, es gibt mir die folgende Ausnahme:
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)
ist dies wegen der Node root = null;
die einen Knoten hinzuzufügen, macht zu ein Nullknoten? dann wie behoben werden kann
aber es scheint, dass er verwendet ** org.w3c.dom.Node ** – lonesome
Ich weiß nicht, wie das geht. Was ich meine, ist, dass ich nicht herausfinden kann, wie man ** com.sun.org.apache.xerces.internal.dom.ParentNode ** benutzt und da ich in den ersten meiner Programme ** org.w3c.dome.Node * verwendet habe * Es bringt mich dazu Casting zu benutzen und dann, wenn ich das Programm starte, leugnet es Casting und so. – seventeen
Ich analysiere nur den HTML-Code einer Seite, dann benutze die "" tagsoup ** -Bibliothek, um das DOM aus dem HTML zu erstellen. Wählen Sie dann einige Knoten aus diesem DOM aus, die Sie zur späteren Verwendung in eine Liste einfügen möchten. Dieses Problem tritt jedoch auf. – seventeen