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]
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
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]
Java:
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
Grüße
Zuletzt bearbeitet: