Über Java weitere XML Elmente anhängen!
hubert
- java
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???
Hi,
kann mir hier jemand helfen???
bei welchem Problem?
Cheatah
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
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
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!
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!!
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
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