Neue Inhalte in XML-Datei einfügen

Sherry

Aktives Mitglied
Hallo,

ich versuche mich gerade im Erstellen eines Programmcodes, der eine bestehende XML-Datei mit weiteren Elementen und Inhalten erweitert.

Als Beispiel habe ich hier einen Terminkalender in XML:
[XML]<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<terminkalender xmlns="http://www.errata.com/java/terminkalender" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<besitzer>
<name>Sherry</name>
</besitzer>
<termine name="Wichtige Termine">
<termin>
<was>Mit Sarah Weintrinken gehen</was>
<wann>Donnerstagabend</wann>
<wo>Restaurant</wo>
</termin>
</termine>
</terminkalender>
[/XML]

Der Java-Code, der diese Datei erzeugt sähe wie folgt aus:
Java:
package com.errata.java.terminkalender;


import static com.errata.java.terminkalender.Konstanten.ATTRIBUT_TERMINE_NAME;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_BESITZER;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_BESITZER_NAME;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_TERMIN;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_TERMINE;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_TERMINKALENDER;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_WANN;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_WAS;
import static com.errata.java.terminkalender.Konstanten.ELEMENT_WO;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class DOM {
	public static void main(String[] args) {
		try (OutputStream ausgabe = new FileOutputStream(new File(
				"resources/terminkalender.xml"))) {
			DocumentBuilderFactory fabrik = DocumentBuilderFactory.newInstance();
			fabrik.setNamespaceAware(true);
			DocumentBuilder documentBauer = fabrik.newDocumentBuilder();
			Document dokument = documentBauer.newDocument();
			Element terminkalender = dokument.createElement(ELEMENT_TERMINKALENDER);
			terminkalender.setAttribute("xmlns","http://www.errata.com/java/terminkalender");
			terminkalender.setAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");
			dokument.appendChild(terminkalender);
			
			Element besitzer = dokument.createElement(ELEMENT_BESITZER);
			Element name = dokument.createElement(ELEMENT_BESITZER_NAME);
			name.setTextContent("Sherry");
			Element termine = dokument.createElement(ELEMENT_TERMINE);
			termine.setAttribute(ATTRIBUT_TERMINE_NAME, "Wichtige Termine");
			Element termin = dokument.createElement(ELEMENT_TERMIN);
			Element was = dokument.createElement(ELEMENT_WAS);
			was.setTextContent("Mit Sarah Weintrinken gehen");
			Element wann = dokument.createElement(ELEMENT_WANN);
			wann.setTextContent("Donnerstagabend");
			Element wo = dokument.createElement(ELEMENT_WO);
			wo.setTextContent("Restaurant");
			
			besitzer.appendChild(name);
			terminkalender.appendChild(besitzer);
			termin.appendChild(was);
			termin.appendChild(wann);
			termin.appendChild(wo);
			termine.appendChild(termin);
			terminkalender.appendChild(termine);
			
			TransformerFactory transformerFabrik = TransformerFactory.newInstance();
			Transformer transformer = transformerFabrik.newTransformer();
			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
			transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
			DOMSource quelle = new DOMSource(dokument);
			StreamResult ziel = new StreamResult(ausgabe);
			transformer.transform(quelle, ziel);
		} catch (ParserConfigurationException | IOException | TransformerException e) {
			e.printStackTrace();
		}
	}
}

Und Konstanten.java enthält
Java:
package com.errata.java.terminkalender
public class Konstanten {
	public final static String ELEMENT_TERMINKALENDER = "terminkalender";
	public final static String ELEMENT_BESITZER = "besitzer";
	public final static String ELEMENT_BESITZER_NAME = "name";
	public final static String ELEMENT_TERMINE = "termine";
	public final static String ELEMENT_TERMINE_NAME = "name";
	public final static String ELEMENT_TERMIN = "termin";
	public final static String ELEMENT_WAS = "was";
	public final static String ELEMENT_WANN = "wann";
	public final static String ELEMENT_WO = "wo";
	public final static String ATTRIBUT_TERMINE_NAME = "name";
	private Konstanten() {
	}
}

Dieser Java-Code erzeugt mir zwar die XML-Datei und wäre als Anfang nützlich. Wie kann ich DOM nutzen, wenn ich in die bereits existierende XML-Datei neue Termine einfügen will? Also ein neues
[XML]<termin>
<was></was>
<wann></wann>
<wo></wo>
</termin>[/XML]
inklusive der Inhalte anlegen und in die XML-Datei einfügen will?

Vielen Dank

Sherry
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z XML auslesen, Elemente daraus entfernen und als neue XML zurückgeben XML & JSON 2
M neue Knoten erstellen ? XML & JSON 6
N neue XML-Datei erstellen mit vorhandener Struktur XML & JSON 18
D Kann man neue Knoten löschen? XML & JSON 4
T [JDOM] XML File, neue Daten hinzufügen XML & JSON 5
P Bestimmte XML-Inhalte in String lesen XML & JSON 2
W Whitespaces verschieben Inhalte XML & JSON 11
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
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
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 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 Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
sylo DOM Document in XML Datei schreiben XML & JSON 5
F XML Datei in Java einlesen XML & JSON 4
J Objektstruktur aus XML-Datei erzeugen XML & JSON 21
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

Ähnliche Java Themen

Neue Themen


Oben