# JDOM schreibt nicht



## Helgon (24. Dez 2011)

Hey, hab mir grad das XML Kapitel von Java ist auch eine Insel angeschaut und ich hab ein kleines Problem.

Der Inhalt wird eigentlich geändert, aber nicht in der XML Datei

[XML]<?xml version="1.0" ?>
<party datum="31.12.01">
<gast name="Albert Angsthase">
<getraenk>Wein</getraenk>
<getraenk>Bier</getraenk>
<zustand ledig="true" nuechtern="false"/>
</gast>
<gast name="Martina Mutig">
<getraenk>Apfelsaft</getraenk>
<zustand ledig="true" nuechtern="true"/>
</gast>
<gast name="Zacharias Zottelig"></gast>
</party>[/XML]


```
public static void main(String[] args){

		Document doc = new SAXBuilder().build("party.xml");
		
		Element party = doc.getRootElement();
		Element albert = party.getChild("gast");
		Attribute attr = albert.getAttribute("name");
		
		System.out.println(attr.getValue()); // albert angsthase
		attr.setValue("Albert mutig");
		System.out.println(attr.getValue()); // albert mutig

		// in der xml datei selbst ändert sich aber nix
		
		Element wein = new Element("getraenk");
		wein.addContent("Wein");
		
		Iterator<?> gaesteListe = party.getChildren("gast").iterator();
		
		while(gaesteListe.hasNext()){
			Element gast = (Element) gaesteListe.next();
			if("Martina Mutig".equals(gast.getAttribute("name").getValue()))
				gast.addContent(wein);
		}
}
```

Dachte vllt weil ich die Datei offen hab oder sonst was, aber nein, das ist es auch nicht.

Bin echt am grübbeln  weil eigentlich wirds ja geändert (siehe oben die Ausgabe) aber die XML Datei selbst irgendwie nicht?

Grüße


----------



## eRaaaa (24. Dez 2011)

Du änderst ja nur den Baum in deinem Javaprogramm. Du musst die Änderungen dennoch raus schreiben, z.B. am Ende (nach Z24) mal ein

```
XMLOutputter xmlOutput = new XMLOutputter();
xmlOutput.setFormat(Format.getPrettyFormat());
xmlOutput.output(doc, new FileWriter("party.xml"));
```

einfügen. -->
*party.xml:*
[xml]
<?xml version="1.0" encoding="UTF-8"?>
<party datum="31.12.01">
  <gast name="Albert mutig">
    <getraenk>Wein</getraenk>
    <getraenk>Bier</getraenk>
    <zustand ledig="true" nuechtern="false" />
  </gast>
  <gast name="Martina Mutig">
    <getraenk>Apfelsaft</getraenk>
    <zustand ledig="true" nuechtern="true" />
    <getraenk>Wein</getraenk>
  </gast>
  <gast name="Zacharias Zottelig" />
</party>
[/xml]


----------



## Helgon (24. Dez 2011)

Hey, vieln dank Meister 

War wohl schon etwas spät, gar nicht richtig drüber nach gedacht


----------

