hubert: Über Java weitere XML Elmente anhängen!

hallo...ich habe probleme über java weitere xml elemente ins
dokument anzuhängen. wie mache ich das richtig?

FileInputStream fileInoutStream = new FileInputStream("c:/faevers/ina/contact4user"+ createUserIna +".xml");
        SAXBuilder builder = new SAXBuilder(false);
        xmlDoc = builder.build(fileInoutStream);

Element rootElement = xmlDoc.getRootElement();
        Element user = rootElement.getChild( "user" );

//add Userdaten in die XML Datei schreiben
        Element userAdd = new Element("user");
        userAdd.addContent(new Element("ina").setText( addUserIna ));
        userAdd.addContent(new Element("nickname").setText( nickname ));
        userAdd.addContent(new Element("name").setText( name ));
        userAdd.addContent(new Element("vorname").setText( vorname ));
        userAdd.addContent(new Element("email").setText( email ));
        userAdd.addContent(new Element("passwort").setText( passwort ));

rootElement.addContent( userAdd );

das ist mein java-quelltext.

die xml datei ist folgendermaßen aufgebaut:
<userlist>
  <ego>
    //Persönliche Daten
  </ego>
  //Sollte immer wieder angefügt werden:
  <user>
    <ina>...</ina>
    <name>...</name>
    ...
  </user>
</userlist>

kann mir hier jemand helfen???

  1. Hi,

    kann mir hier jemand helfen???

    bei welchem Problem?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. bei welchem Problem?

      ist doch ganz einfach - falls du lesen kannst!
      oben steht das ich nicht weiß wie ich neue daten in die xml
      datei schreiben kann. entweder macht der nichts oder ich
      bekomme ein fatal error...NullPointerException

      1. Hi,

        bei welchem Problem?
        ist doch ganz einfach - falls du lesen kannst!

        nein, ist es nichts, weil Du nichts geschrieben hast. Zumindest keine Problembeschreibung.

        oben steht das ich nicht weiß wie ich neue daten in die xml
        datei schreiben kann.

        Und anschließend hast Du Dich widerlegt, indem Du einen Code nanntest, der sehr nach einer Lösung der Aufgabe aussieht.

        entweder macht der nichts

        Wenn "er" _nichts_ macht, hast Du "ihn" nicht gestartet. Wenn Du nur nichts _siehst_, hast Du keine Problemanalyse durchgeführt, was ein unverzichtbarer Bestandteil einer Problembeschreibung ist, den nur Du durchführen kannst.

        oder ich bekomme ein fatal error...NullPointerException

        Der Name eines Fehlers reicht ebenfalls nicht aus. Mindestens Ort und Grund des Fehlers *musst* Du nennen - selbstverständlich neben den Ergebnissen Deiner Analyse. Selbst wenn Dir jemand helfen will, kann er es nicht, ohne dass Du dieses Minimum an Arbeit erfüllst - und wenn Du potenzielle Helfer beleidigst, wird dieser Wille bei allen Anwesenden merklich schwinden.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. sorry, wenn ich etwas zu direkt war!

          aber es gerade das problem, dass ich keine fehler meldung bekomme.
          mein programm schreibt nichts in die xml datei oder versucht es gar.
          ich hab keine ahnung wo der fehler liegt und bekomme keine
          fehlermeldung...es passiert nichts...aber die methode zum
          adden eines users rufe ich auf das weiß ich und ich übergabe auch
          die bestimmten daten!

          1. sorry, wenn ich etwas zu direkt war!

            aber es gerade das problem, dass ich keine fehler meldung bekomme.
            mein programm schreibt nichts in die xml datei oder versucht es gar.
            ich hab keine ahnung wo der fehler liegt und bekomme keine
            fehlermeldung...es passiert nichts...aber die methode zum
            adden eines users rufe ich auf das weiß ich und ich übergabe auch
            die bestimmten daten!

            weiss keiner antwort, würde mich auch interessieren!!

            danke!!

          2. Hi,

            aber es gerade das problem, dass ich keine fehler meldung bekomme.
            mein programm schreibt nichts in die xml datei oder versucht es gar.

            Kein Wunder - es ist ja auch (zumindest in dem Code, den Du hier gezeigt hast) nichts vorhanden, was ein Schreiben in die Datei veranlassen könnte.

            Du hängst nur Elemente in das im Speicher befindliche Dokument ein.
            Mehr aber auch nicht.
            Keinerlei Dateischreib-Aktion.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hallo,

    nachdem jetzt geklärt ist, daß du -- zumindest im geposteten Code --
    die XML-Daten nicht in eine Datei schreibst, wäre noch zu klären woher
    die NullPointerException kommen soll.

    Normalerweise gibt Java einen Stacktrace aus, wenn eine (nicht-gefangene)
    Exception verarbeitet wird. Wenn dir keiner angezeigt wird, wird die
    RuntimeException wohl irgendwo gefangen. Hier solltest du noch den
    Stacktrace mitausgeben, sonst findest du ja nichts.

    Vermutlich tritt die NullPointerException nicht im geposteten Code
    auf. Der sieht nämlich auf den ersten Blick ganz gut aus.

    Du kannst übrigens überprüfen ob die von dir erzeugte XML-Struktur
    korrekt ist, indem du einfach das Document ausgibst, in deinem
    Beispiel also [code language=Java]System.out.println(xmlDoc)[/code] in deinen Code einfügst.
    Dann sollte die XML-Struktur mehr oder weniger gut formatiert auf der
    Konsole ausgegeben werden.

    Zum Code selbst habe ich noch eine Frage:

    SAXBuilder builder = new SAXBuilder(false);
            xmlDoc = builder.build(fileInoutStream);

    Element rootElement = xmlDoc.getRootElement();
            Element user = rootElement.getChild( "user" );

    Verwendest du die lokale Variable "user" noch irgendwo?
    Vielleicht kommt daher die NullPointerException. Wenn es nämlich kein
    Element(!) mit dem Namen "user" gibt, liefer getChild() null zurück,
    so daß ein späterer Zugriff hier die genannte Exception zur Folge hätte.

    Gruß
    Slyh