hi,
so wie ich mein code geschrieben habe kann ich ein xml dokument erzeugen und speichern.
jetzt will ich aber nicht den namen festlegen die ich zwischen den tags schreibe, sondern sollen diese durch den Benutzer an der richtigen stelle automatisch eingefügt werden. wie kann man das machen ?
außerdem wird mein xml dokument immer überschrieben und erweitert sich nicht einfach, wie kann man das programmieren?
Lg
so wie ich mein code geschrieben habe kann ich ein xml dokument erzeugen und speichern.
jetzt will ich aber nicht den namen festlegen die ich zwischen den tags schreibe, sondern sollen diese durch den Benutzer an der richtigen stelle automatisch eingefügt werden. wie kann man das machen ?
außerdem wird mein xml dokument immer überschrieben und erweitert sich nicht einfach, wie kann man das programmieren?
Lg
Java:
public class FileHandler {
public void sichernVonDaten() {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
if(doc != null) {
//rootelement
Element rootElement = doc.createElement("cocktails");
doc.appendChild(rootElement);
//cocktail
Element cocktail = doc.createElement("cocktail");
rootElement.appendChild(cocktail);
//allgemein
Element allgemein = doc.createElement("allgemein");
cocktail.appendChild(allgemein);
//kindElement name von allgemein
Element name = doc.createElement("name");
//hier erstellt man den namen des cocktails
name.appendChild(doc.createTextNode("hier steht ei name));
allgemein.appendChild(name);
//kindelement street von allgemein
Element note = doc.createElement("note");
note.appendChild(doc.createTextNode("...."));
allgemein.appendChild(note);
//kindelement alkohol von allgemein
Element alkohol = doc.createElement("alkohol");
alkohol.appendChild(doc.createTextNode("..."));
allgemein.appendChild(alkohol);
//zutaten
Element zutaten = doc.createElement("zutaten");
cocktail.appendChild(zutaten);
//zutat
Element zutat = doc.createElement("zutat");
zutaten.appendChild(zutat);
//kindElement zname von zutat
Element zname = doc.createElement("zname");
zname.appendChild(doc.createTextNode("..."));
zutat.appendChild(zname);
//kindElement cocktailmenge von zutat
Element cocktailmenge = doc.createElement("cocktailmenge");
cocktailmenge.appendChild(doc.createTextNode());
zutat.appendChild(cocktailmenge);
//kindElement menge von zutat
Element menge = doc.createElement("menge");
menge.appendChild(doc.createTextNode(""));
zutat.appendChild(menge);
//kindElement handelspreis von zutat
Element handelspreis = doc.createElement("handelspreis");
handelspreis.appendChild(doc.createTextNode(""));
zutat.appendChild(handelspreis);
//kindElement handelsmenge von zutat
Element handelsmenge = doc.createElement("handelsmenge");
handelsmenge.appendChild(doc.createTextNode(""));
zutat.appendChild(handelsmenge);
//zubereitung
Element zubereitung = doc.createElement("zubereitung");
cocktail.appendChild(zubereitung);
//kindElement text von zubereitung
Element text = doc.createElement("text");
text.appendChild(doc.createTextNode("....."));
zubereitung.appendChild(text);
}
// als XML schreiben
TransformerFactory tf = TransformerFactory.newInstance();
Transformer serializer = tf.newTransformer();
DOMSource Source = new DOMSource(doc);
File fileOutput = new File("xml/CocktailBestand.xml");
StreamResult streamResult = new StreamResult(fileOutput);
//Form des dokumentes
serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
serializer.setOutputProperty(OutputKeys.INDENT, "yes");
serializer.transform(Source, streamResult);
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}