Zum Inhalt springen

DOM - import/adopt eine Node


Empfohlene Beiträge

Geschrieben

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?

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...