# Einstieg in XML mit Java



## peterfolta (4. Apr 2008)

Hallo,

als Dateispeicherformat für mein Programm (eine CD-Verwaltungssoftware) möchte ich gerne XML verwenden. Die entstehende XML-Datei soll dabei etwa so aussehen:


```
<?xml version="1.0" encoding="UTF-8"?>
<Database>
	<Preferences>
		<Title>TestDatabase</Title>
		<Owner>Peter Folta</Owner>
		<Notes>Keine Notizen</Notes>
		<Date>2008-04-03 09:15</Date>
		<Categories>
			<Category>Meine Kategorie</Category>
		</Categories>
	</Preferences>
	<Library>
		<Disc>
			<Album>Crises</Album>
			<Artist>Mike Oldfield</Artist>
			<Genre>Pop</Genre>
			<Rating>Excellent</Rating>
			<Category>Meine Kategorie</Category>
			<DiscType>AudioCD</DiscType>
			<Year>1983</Year>
			<Cover></Cover>
			<Tracks>
				<Track artist="Mike Oldfield" duration="2:46">Crises</Track>
				<Track artist="Mike Oldfield" duration="3:12">Moonlight Shadow</Track>
			</Tracks>
			<Notes>Auch keine Notizen</Notes>
		</Disc>
	</Library>
</Database>
```

Der Bereich zwischen <Preferences> und </Preferences> enthält allgemeine Informationen über die aktuelle CD-Sammlung, unter anderem auch die Kategorien, die der Benutzer angelegt hat. Zwischen <Library> und </Library> befinden sich die einzelnen <Disc>s, also die einzelnen CD-Alben.

Mein Problem dabei ist, dass ich noch nie XML mit Java gelesen oder geschrieben habe. Ich möchte zunächst einfach anfangen, und den Text, der in den einzelnen Tags steht in Programmvariablen einlesen, um sie dann später (möglicherweise in veränderter Form) wieder in die XML-Datei speichern zu können.

Könnt Ihr mir vielleicht erklären, wie das Einlesen bzw. Schreiben einzelner XML-Tags realisiert wird oder einen Link zu einem guten, ausführlichen Tutorial zu "XML mit Java" geben?

Liebe Grüße,

Peter


----------



## Niki (4. Apr 2008)

Schreib dir ein XML-Schema (xsd-Datei) die deine xml-Struktur beschreibt und lasse dir aus dieser Datei über ein Binding-Framework (XMLBeans, Jaxb,....) die Klassen generieren. Das macht das Arbeiten sehr einfach und du musst nicht mühsam die Elemente durchwandern. Mein bevorzugtes Framework ist XMLBeans
Wenn du Fragen dazu hast kann ich dir gerne helfen. Zum Generieren der Klassen bietet sich z.B. ant an (zumindest mach ich das immer so)


----------



## Wildcard (4. Apr 2008)

Ich empfehle EMF:
http://www.eclipse.org/modeling/emf/


----------



## Niki (4. Apr 2008)

Hab da mal was zusammen geschrieben, vielleicht kannst du es ja gebrauchen:
XMLBeans_Anleitung


----------

