JDOM Element ohne Inhalt kopieren ?

Status
Nicht offen für weitere Antworten.
Hallo!
Also ich möchte aus einem JDOM ein Element X herauskopieren. Das soll dann in einem neuen JDOM als root-Element gespeichert werden. Soweit super. Klappt auch, nur ist das JDOM recht groß und es werden immer alle Unterelemente von Element X mitkopiert. Ich will aber nur die Start- und Endtags und die Attribute von Element X, ohne den Inhalt kopieren. Z.B.:


Ausgangs-JDOM


<Y>
<X abc="123" def="456">
<A xyz="234">
InhaltVonA
</A>

<C www="http"/>

</X>

</Y>


Ziel-JDOM

<X abc="123" def="456">
</X>


wie mache ich das?

Gruß Marcello
 

clemson

Bekanntes Mitglied
Hallo!

So sollt' das funztkionieren...

Code:
import java.io.File;
import java.io.IOException;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

public class JdomTest
{

	public static void main(String[] args) throws JDOMException, IOException
	{
		// get the document
		SAXBuilder builder = new SAXBuilder();
		File f = new File("xml.xml");
		Document doc = builder.build(f);

		XMLOutputter outputter = new XMLOutputter();
		outputter.output(doc, System.out);

		// get the root element
		Element rootElement = doc.getRootElement();

		// get the X element
		Element xElement = rootElement.getChild("X");

		// detach the X element from the origin document and remove all
		// childrens
		xElement.detach();
		xElement.removeContent();

		// create a new document with the x element
		Document doc2 = new Document(xElement);

		// output the new xml
		outputter.output(doc2, System.out);
	}

}
 
Die .removeContent() Methode hatte ich nicht gefunden. Die hat's gebracht!!

Code:
xElement.detach(); //brauchte ich in diesem Fall nicht
Element kopieVonX = (Element)(xElement.clone()); //habe ich stattdessen genommen.
//Hierbei muss nocheinmal der Rückgabewert von .clone() in Element gecastet werden.
kopieVonX.removeContent(); //hiermit hab ich dann eine Kopie von xElement ohne Inhalt
DANKE!
 

clemson

Bekanntes Mitglied
Wenn du allerdings aus dem kopieVonX ein neues Document basteln willst, dann musst du die #detach() aufrufen, weil sonst gibts eine "org.jdom.IllegalAddException: The Content already has an existing parent" .

Ich weiß nicht was du genau machen willst, aber die xElement.clone() kopierst du das ganze X Element, was bei größerem <X> länger dauert als das xElement#detach(). Die Element#detach() löst sozusagen das Element vom Dokument ab und es ist dann ein eigenständiges Element...

Wie gesagt, ist dann abhängig vom Einsatzfall.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JDom XML ein Element hinzufügen. XML & JSON 1
C xml validierung gegen xsd mit jdom: Fehlermeldung Cannot find the declaration of element ... XML & JSON 8
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
sparrow JDom Element.getChild("Name") liefert null obwohl vorhanden XML & JSON 4
S Ampersand im Jdom-Element XML & JSON 2
C jdom.Element nicht vorhanden? XML & JSON 4
W JDOM element ändern funzt nich :( [problem gelöst] XML & JSON 3
M JDOM und XPath, zu Element zugehörigen XPath-Ausdruck XML & JSON 5
B Element an bestimmter Stelle einfügen (JDOM) XML & JSON 8
J [Newbie] [JDOM] Element aus XML entfernen klappt nicht XML & JSON 4
R JDOM Root-Element entfernen aber Rest behalten XML & JSON 10
clemson element mit id in jdom löschen XML & JSON 2
R JDom: XML Code von Element, und: ist Element ein standalone XML & JSON 2
P JDOM oder SAX XML & JSON 3
Hijo2006 Grundsätzliches zu JDOM 2.x XML & JSON 1
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
S JDOM XML Datei darstellen Fehler! XML & JSON 2
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
J JDOM XMLOutputter getPrettyFormat() XML & JSON 3
H JDOM setAttribute Reihenfolge XML & JSON 3
B XML aus einer URL im Internet lesen (JDOM) XML & JSON 4
F Aus XML mit JDOM aus Elementattributen Werte rauslesen XML & JSON 4
R sax, stax, jdom, jaxb? List von Objekten speichern und laden XML & JSON 6
T Dom, Jdom, Sax XML & JSON 8
Helgon MalformedByteSequenceException und null JDOM Attribute XML & JSON 5
Helgon JDOM schreibt nicht XML & JSON 2
A XSl mit JDom auslesen XML & JSON 1
G xml, jdom "Entität wurde referenziert aber nicht deklariert." XML & JSON 4
A XSL und JDom XML & JSON 3
G jdom-Klassen in Eclipse importieren XML & JSON 2
S JDOM ohne XML Header erzeugen? XML & JSON 2
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
S JDOM nur Attribut Name XML & JSON 2
X JDom für SOAP Dateien geeignet? XML & JSON 3
M XML Parsen JDOM NullPointerEcxeption XML & JSON 7
S jdom hasChildren()? XML & JSON 1
T Frage zu getContent unter jdom XML & JSON 6
Z Tutorial für JDOM (XSD-Shema) XML & JSON 3
D jdom, xml, login-system XML & JSON 4
N JDOM: XML einlesen XML & JSON 4
O Parsen einer XML mit JDOM ohne Doctype Declaration XML & JSON 2
lordcarlos jdom zu iso-8859-15 zwingen XML & JSON 4
P jdom XML-Encoding auslesen XML & JSON 12
E JDOM - letzem child Attribut hinzufügen XML & JSON 4
H Schema-Validierung mit JDOM XML & JSON 2
lordcarlos JDOM und entfernen von children XML & JSON 4
E JDOM - Problem beim Zusammenfügen zweier Dateien XML & JSON 2
T jdom.jar als Relativer Pfad in Eclipse einbinden XML & JSON 4
S XML, UTF-8, JDOM und Umlaute XML & JSON 3
E XML - JDOM - Bäume: was würdet ihr hier machen? XML & JSON 11
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
T JDOM Bibiliothek XML & JSON 3
K JDOM vs. DOM, Schnittstellen XML & JSON 5
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
0x7F800000 jdom mit xml.transform inkompatibel, was soll ich nehmen? XML & JSON 2
T EXSD auslesen mit XPath und JDOM XML & JSON 8
A JDOM und Sonderzeichen < > XML & JSON 17
G Simples XML File einlesen mit JDom. Prefix not bound ? XML & JSON 2
N jdom problem beim lesen von child elementen XML & JSON 5
N problem bei xml lesen mit jdom XML & JSON 2
N jdom - xslt-Verweis in .xml einfügen XML & JSON 3
S Jdom+java webstart XML & JSON 4
K html -> cyberneko -> xml -> jdom . XML & JSON 3
I JDom Text ändern XML & JSON 4
C XPath in JDOM klappt nicht XML & JSON 2
S Harte Nuss mit XML und JDOM XML & JSON 2
H mit JDOM Verarbeitungsanweisungen und Kommentare auslesen XML & JSON 2
B jdom: getChildren() problem XML & JSON 4
T Bild in XML per JDOM XML & JSON 4
D JDOM erzeugt leere xmlns Attribute XML & JSON 4
T Elemente zählen mit JDOM in XML XML & JSON 7
B jdom document aus string erzeugen? XML & JSON 1
F JDOM und XPath - Problem mit Namespace ohne Prefix XML & JSON 5
T XML mit JDOM auslesen => langsam? XML & JSON 7
B jdom outputter ohne attribute XML & JSON 2
C XML encoding UTF-8 und JDOM XML & JSON 4
P Probleme mit JDom . addContent(int index,Collection c) XML & JSON 2
R key aus xml lesen mittels jdom XML & JSON 5
X JDOM SAXBuilder Validationschema - Problem XML & JSON 8
G einzelne tags mit jdom auslesen XML & JSON 4
F XML ( ca. 280 MB) JDom & SAXBuilder lesen = OutOfMemoryE XML & JSON 4
K JDOM SAXBuilder einlesen XML & JSON 6
S Ausgabe "asXML" mit Jdom XML & JSON 2
G XML mit JDOM ausgeben [Klappe die 1Mio.ste] XML & JSON 2
F XML mit JDOM auslesen XML & JSON 2
D JDOM auf den PC machen XML & JSON 6
J JDOM Unicode XML & JSON 2
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
P JDOM Werte verändern XML & JSON 4
S OutOfMemory mit JDOM XML & JSON 6
S org.jdom.document in String umwandeln. XML & JSON 2
M ISO-8859-1 >> UTF-8 + JDOM + Verwirrung. XML & JSON 2
J JDOM mit XML-Schema XML & JSON 8
P HTML-Sting in JDOM XML & JSON 7
B JDOM && ObjectOutputStream XML & JSON 8
B Versionskonflikt bei JDOM XML & JSON 9
B JDom -- getChild() liefert nicht nachvollziehbar null XML & JSON 2
M JDOM parse Exception XML & JSON 3
G JDom encoding ändern XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben