XML Datei mit DOM erzeugen

Status
Nicht offen für weitere Antworten.
D

der anfänger

Gast
hi @all

ich habe da ein problem bei dem ich nicht weiter komme. und zwar möchte ich mir eine xml-datei erstellen mit hilfe von java. ich habe auch schon ein bißchen gelesen und möchte es gerne mit dom realisieren. außer es sagt mir jemand was besseres.

erstmal so wie die datei aussehen sollte:

<?xml version = '1.0' encoding = 'iso-8859-1' ?>
<XML>
<Person>
<Name>Mustermann</Name>
<Vorname>Karl</Vorname>
</Person>
</XML>


also wenn ich die so im editor eingebe dann nimmt sie mein browser auch an. und genauso sollte sie dann mit java auch aussehen.

jetzt mein quellcode:

Code:
public void createXMLDocument() {
		try {
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document document = builder.newDocument();
		
			Element root = document.createElement("XML");
			document.appendChild(root);

			Element person = document.createElement("Person");
			root.appendChild(person);
		
			Element name = document.createElement("Name");
			person.appendChild(name);
			name.appendChild(document.createTextNode("Mustermann"));
		
			Element vorname = document.createElement("Vorname");
			person.appendChild(vorname);
			vorname.appendChild(document.createTextNode("Karl"));
		
			FileWriter ausgabestrom = new FileWriter("test.xml");
			BufferedWriter output = new BufferedWriter(ausgabestrom);
			String inhalt = "<?xml version = '1.0' encoding = 'iso-8859-1' ?>\n";
			inhalt = inhalt + document.getDocumentElement().toString();
			output.write(inhalt,0,inhalt.length());
			output.flush();
			output.close();
		} catch(ParserConfigurationException e) {
			e.printStackTrace();
		} catch(Throwable e) {
			e.printStackTrace();
		} 
	}

wenn ich diesen ausführe dann bekomme ich folgende datei:

<?xml version = '1.0' encoding = 'iso-8859-1' ?>
[XML: null]


ich weiß nicht woran es liegt und ich denke einfach mal das ich zu blöd bin und hoffe auf eure hilfe.

bedanke mich schon mal im voraus!
Code:
 
S

SlaterB

Gast
na so einfach gehts nun nicht..

aber das ist doch eine grundlegende Sache, die musst du doch in jedem Tutorial finden..,
wichtig ist vielleicht welches DOM du benutzt,
ich habe immer das Gefühl, dass es da viele Versionen gibt..

für org.w3c.dom.*;
dürfte folgendes passend sein:
http://www.virtualuniversity.ch/software/java-xml/3-6.html
(ungetestet)

ansonsten findet man bei google viel..
 
D

der anfänger

Gast
das lustige daran ist ja, das ich das beispiel aus nem buch habe. aber es funzt so nicht! welches dom das ist? weiß ich nicht so genau. im buch steht das die jaxp-api benutzt wird und das es im java 2sdk mit drin ist. aber ich schau mir das tutorial mal an von dir. mal schaun. ich danke dir schon mal.
 

max60watt

Mitglied
Hallo der anfänger,

bei mir ist das selbe Problem aufgetreten.
Unter Java 1.4 habe ich, ähnlich deinem Quellcode, einen DOM-Baum aufgebaut und auf Platte geschrieben. Hat wunderbar geklappt.
Nach Umstellung auf Java 1.6 bekam ich auch die Datei wie du.

So wie ich es einschätze, ist im JAXP nicht mehr DOM2, sonder DOM3 implemetiert. Die Zeile
Code:
inhalt = inhalt + document.getDocumentElement().toString();
in deinem Quelltext scheint nicht mehr zu funktionieren. Hier muss ein Transformer zur Ausgabe benutzt werden.

Einen Beispielquelltext findest du unter
turku.wi-bw.tfh-wildau.de/~cmueller/Announce/Java/Beispiele/xml/
in der Datei Dom3,java.

Hat bei mir jedenfalls funktioniert.

Gruss Max
 
G

Gooose

Gast
Versuch's mal damit:

erstelle die einzelnen Elemente und weise sie ihrem parent zu.
Fange bei dem tiefsten Knoten / Element an und arbeite dich zum Root hoch.

Zum erstellen von XML-Quellcode finde ich DOM :bloed: besser geeignet hierfür ist :toll: dom4j oder jdom.

Code:
public void createXMLDocument() { 
    public void createXMLDocument() { 
        try { 
           DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
           DocumentBuilder builder = factory.newDocumentBuilder(); 
           Document document = builder.newDocument(); 
         
           Element root = document.createElement("XML"); 

           Element person = document.createElement("Person"); 
           Element name = document.createElement("Name"); 
           Element vorname = document.createElement("Vorname"); 

           name.appendChild(document.createTextNode("Mustermann")); 
           person.appendChild(name); 
         
           vorname.appendChild(document.createTextNode("Karl")); 
           person.appendChild(vorname); 

           root.appendChild(person); 
           document.appendChild(root); 
         
           DOMReader reader = new DOMReader();
           org.dom4j.Document doc2 = reader.read(document);
           System.out.println(doc2.asXML());
           
           FileWriter ausgabestrom = new FileWriter("test.xml"); 
           BufferedWriter output = new BufferedWriter(ausgabestrom); 
           output.write(doc2.asXML().toString()); 
           output.flush(); 
           output.close(); 

        } catch(ParserConfigurationException e) { 
           e.printStackTrace(); 
        } catch(Throwable e) { 
           e.printStackTrace(); 
        } 
     }

Viiiel Spass damit.

Gruuuss
Gooose
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
sylo Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
J Objektstruktur aus XML-Datei erzeugen XML & JSON 21
K xml Datei mit JDOM erzeugen, Problem Namespaces XML & JSON 1
T Tags in XML Datei mit Java erstellen XML & JSON 3
S XML Datei speichern nicht möglich XML & JSON 13
M Objekt zu jsonArray in .json datei hinzufügen ? XML & JSON 3
I Mit Hibernate eine XML-Datei in eine Tabellenspalte einlesen. XML & JSON 1
MiMa Buch Metadaten aus XML Datei parsen XML & JSON 48
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
R xlsx-Datei mit Apache POI einlesen XML & JSON 18
S Validierung einer XML-Datei - Führende Leerzeichen und Tabs XML & JSON 10
S CSV Datei einlesen und XML Ausgeben XML & JSON 2
U jar Datei mit ant erstellen XML & JSON 1
P wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar? XML & JSON 2
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
D XML-Datei per Button erstellen XML & JSON 3
K JAR-File mit XML-Datei XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
I Liste in YAML Datei speichern und wieder auslesen XML & JSON 1
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
E JTreedaten in eine XML Datei speichern XML & JSON 3
D Int-Werte in XML-Datei schreiben (DOM) XML & JSON 2
B xsd-Datei ins jar file XML & JSON 5
T Formulardaten in XML Datei speichern XML & JSON 5
H Wsdl datei XML & JSON 2
D Große XML-Datei in einzel Dateien splitten XML & JSON 3
S Neue Inhalte in XML-Datei einfügen XML & JSON 0
S JDOM XML Datei darstellen Fehler! XML & JSON 2
S Xml File für den Aufbau einer anderen Xml Datei XML & JSON 6
M XML-Datei mit JAXB und 2 Namespaces XML & JSON 0
J XML - Datei wird nicht ganz angezeigt XML & JSON 2
P (Eclipse)Ant Script, .jar Datei erstellen mit MANIFEST.MF XML & JSON 12
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
K Beim Parsen einer XML-Datei Connection timed out XML & JSON 4
E ResultSet als XML Datei speichern XML & JSON 7
M XStream, CSV Datei XML & JSON 9
A Frage zu bestehender XML Datei XML & JSON 6
A Simple Constructor Injection Datei-Pfad XML & JSON 6
K Einlesen eines Parameters aus HTML-Datei XML & JSON 4
Maxim6394 Lesen/Schreiben von XML Datei XML & JSON 9
A XML datei lesbar speichern (eingerückt) XML & JSON 7
M XML Datei Parsen XML & JSON 4
Airwolf89 HTML Datei mit SAXBuilder laden hängt sich auf XML & JSON 4
N Java Code aus XML Datei generieren XML & JSON 8
D Aus lesen einer XML-Datei ( 1 root, 3 childs) XML & JSON 7
D Wie XML Datei einlesen und HTML entities übernehmen? XML & JSON 3
R XLM Datei lesen Ändern (kompliziertes Search and Replace) und Speichern XML & JSON 12
K Kurze XML Datei Parsen XML & JSON 5
S XSD-Datei zulässige Werte auslesen XML & JSON 3
M XML Datei heapspace erreicht XML & JSON 3
M Große Datei auslesen/in dieser suchen XML & JSON 2
S Konforme XML Datei über XSD erstellen XML & JSON 2
M RSS-Datei auslesen von Yahoo Webservice XML & JSON 4
T Inhalt einer .xml Datei auf Javaoberfläche wiedergeben XML & JSON 4
M XML Datei drucken XML & JSON 8
T Daten aus Programm in XML Datei speichern XML & JSON 2
D XSD Datei erstellen XML & JSON 4
L [SAX] Geschachtelte XML Datei parsen XML & JSON 3
E XML Datei mit DOM auslesen (Text mit Attributen) XML & JSON 2
G txt. Datei in xml datei konvertieren XML & JSON 21
K XML Datei in ein Java package „einbinden" XML & JSON 3
L Reihenfolge beim xml Datei parsen einhalten? XML & JSON 8
L xml Datei parsen ohne End-Tag XML & JSON 6
C if-Abfrage mit Datei Variable aus XML-Datei XML & JSON 2
sylo DOM Document in XML Datei schreiben XML & JSON 5
F XML Datei in Java einlesen XML & JSON 4
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
ARadauer Aus XML Datei Objekte erstellen... XML & JSON 3
N MalformedByteSequenceException bei Lesen aus XML Datei XML & JSON 2
H xml-Datei mit Attributen einlesen XML & JSON 3
A XML-Datei: Ab wann kritische Größe erreicht? XML & JSON 4
multiholle XML Datei elegant verarbeiten XML & JSON 14
M XMI-Datei auslesen XML & JSON 4
T Ließt keine XML Datei XML & JSON 2
R JAXB: Aus einem Vector oder List XML Datei erstellen XML & JSON 1
J XML-Datei ein Array einlesen XML & JSON 10
M xml - datei erstellen XML & JSON 2
T Wie einen String(XML Inhalt) in eine XML Datei speichern? XML & JSON 8
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
H XML-Datei in einzelne XML-Dateien zerlegen XML & JSON 2
G Tags oder Zeilen der Not-Validen XML-Datei XML & JSON 7
C Suche in XML-Datei XML & JSON 6
D Zeilennummer in der XML - Datei XML & JSON 5
S Einlesen einer xml Datei XML & JSON 4
M Datei parsen XML & JSON 5
S PDF Erzeugung - Probleme mit der XML Datei bei Schema-Infos XML & JSON 2
S XML Datei einlesen, aber root überspringen XML & JSON 2
T Werte in XML Datei an entsprechender Stelle einfügen XML & JSON 3
Saxony unbekannte XML Datei parsen und ausgeben XML & JSON 10
L XML Datei in Java angeben Pfad? XML & JSON 3
A Mehrere Anwender sollen auf eine XML-Datei zugreifen XML & JSON 4
A SVG Datei auslesen und Batik XML & JSON 1
N neue XML-Datei erstellen mit vorhandener Struktur XML & JSON 18
D XML Datei innerhalb einer JAR Datei parsen XML & JSON 2
M brauche große XML-Datei für XPath-Tests XML & JSON 4
L mit Java eine HTML-Datei erstellen XML & JSON 3
L bz2-Datei parsen XML & JSON 9

Ähnliche Java Themen

Neue Themen


Oben