Auf Thema antworten

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





[code=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();

        }

    }[/code]



Oben