# JTree aus XML Datei erstellen & JTree wieder in XML spei



## dan-ger (14. Mrz 2007)

Hallo,

ich brauche ganz dringend eure Hilfe  :roll: :

Ich hab mir aus ner XML Datei einen JTree erstellen lassen.

Hier die XML Datei:

```
<?xml version="1.0"?>
<Geometrie>
	<Wuerfel>

		<Wuerfel_0 description="Groesse: 50x50mm  Farbe: Rot">asdfsadfsadf</Wuerfel_0>

		<Wuerfel_1 description="Groesse: 70x70mm  Farbe: Blau">asdfasdfasdf</Wuerfel_1>

		<Wuerfel_2 description="Groesse: 90x90mm  Farbe: Gruen">asfdasdfasdf</Wuerfel_2>

		<Wuerfel_3 description="Groesse: 120x120mm  Farbe: Weiss">asfasasdf</Wuerfel_3>

	</Wuerfel>

	
	<Kugel>
		<Kugel1>
			<Groesse>asdasd</Groesse>
		</Kugel1>
		<Kugel2>asdfsaf</Kugel2>
		<Kugel3>adsfasd</Kugel3>
	</Kugel>
</Geometrie>
```

... und hier der passende Baum dazu:






Wenn ich unterhalb des Baumes auf die Buttons klicke, wird auch jeweils ein neuer Knoten/ neues Blatt wie gewünscht hinzugefügt oder auch gelöscht!! Das funktioniert alles wunderbar!!

Jetzt kommt aber mein Anliegen: Ich möchte diesen Baum jetzt wieder in meine XML Datei speichern. Das heißt, ich möchte die neuen Knoten/ Blätter auch direkt in meine XML Datei speichern, sobald sie im Baum neu angelegt/ hinzugefügt werden!!

Ich würde mich sehr freuen, wenn ihr mir helfen könntet!!


Gruß Daniel


----------



## André Uhres (24. Mrz 2007)

Vielleicht hilft dies: http://www.java-forum.org/de/viewtopic.php?p=237073#237073
Die XML-Datei wird dann allerdings anders aussehen als deine, 
da sie von Java vollautomatisch erstellt wird aufgund des TreeModels.


----------



## Wildcard (24. Mrz 2007)

@André
Die Lösung finde ich suboptimal. Der XMLEncoder ist auf Beans ausgelegt und nicht um beliebe Datenstrukturen in XML zu pressen.


> Jetzt kommt aber mein Anliegen: Ich möchte diesen Baum jetzt wieder in meine XML Datei speichern. Das heißt, ich möchte die neuen Knoten/ Blätter auch direkt in meine XML Datei speichern, sobald sie im Baum neu angelegt/ hinzugefügt werden!!


Eher ungünstig. Du müsstest dann jedesmal die komplette Datei neu schreiben.  :wink:


----------



## André Uhres (25. Mrz 2007)

Wildcard hat gesagt.:
			
		

> Der XMLEncoder ist auf Beans ausgelegt



Ich hab doch auch XMLEncoder  genommen, oder was willst du etwa behaupten, JTree sei keine Bean  :shock: ?
Und ich hab ja auch nur gesagt, daß es *vielleicht *hilft  :wink:
Ob die Lösung hilfreich ist, das kann der Fragesteller jetzt wohl selbst beurteilen   



			
				Wildcard hat gesagt.:
			
		

> ..Eher ungünstig. Du müsstest dann jedesmal die komplette Datei neu schreiben.  :wink:


Bei den minimalen Dateien, wie sie oft für JTree benutzt werden, kann man diesen Nachteil wohl ignorieren.
Es handelt sich dabei nur um einen Bruchteil einer Sekunde, was dem GUI-Benutzer kaum auffallen wird  :wink:


----------



## Wildcard (25. Mrz 2007)

André Uhres hat gesagt.:
			
		

> Wildcard hat gesagt.:
> 
> 
> 
> ...


JTree ist eine Bean, ein TreeModel nicht.


----------

