hbspike Geschrieben 26. August 2013 Geschrieben 26. August 2013 Hallo zusammen. Ich bin momentan dabei ein HTML-Dokument zu filtern. Filtern bedeutet, dass nur bestimmte Elemente aus dem HTML-Dokument extrahiert werden. Diese Elemente möchte ich jetzt in ein neues Dokument importieren bzw adoptieren. Jedoch funktioniert keins von beidem. Erstmal mein Code: Document domDoc = builder.newDocument(); Element tempHtmlBlockElement = domDoc.createElement("html"); domDoc.appendChild(tempHtmlBlockElement); List<Node> rubrikNodes = new ArrayList<Node>(); List<Node> ausgabeNodes = new ArrayList<Node>(); ... Fülle die Liste, das Filtern funktioniert und ich erhalte auch alle enthaltenen Elemente ... ... for(Node tempNode : rubrikNodes) { //Beim Versuch die Node zu importieren, schmeißt mir Java eine //"org.w3c.dom.DOMException: DOM method not supported" Exception Node clonedTempNodeAdopted = domDoc.importNode(tempNode, true); //Versuche ich die Node zuerst zu Clonen und dann dem neuen Dokument "zuzuweisen" durch "adoptNode", //bekomme ich eine null-Node als Ergebnis der "adoptNode"-Funktion. Lasse ich das adoptNode weg, wird eine //"WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it." -Exception geworfen. // Was auch korrekt ist... Node clonedTempNode = tempNode.cloneNode(true); clonedTempNode = domDoc.adoptNode(clonedTempNode); tempHtmlBlockElement.appendChild(clonedTempNode); } for(Node tempNode : ausgabeNodes) { ... } Jetzt meine Frage, mache ich etwas falsch? Ich benutze JDK6 (1.6.0_17 bzw 1.6.0_30). Könnte es vielleicht auch daran liegen? Oder sollte ich eine andere Dom-Implementierung benutzen?
hbspike Geschrieben 26. August 2013 Autor Geschrieben 26. August 2013 (bearbeitet) Noch zu erwähnen wäre, dass ich zum parsen JTidy r938 benutze. Bearbeitet 26. August 2013 von hbspike
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden