# Xml File für den Aufbau einer anderen Xml Datei



## sparefroh (12. Feb 2014)

Hey Leute,

also ich habe ein XML1 File das ich auslese und daraus Objekte etc erstelle.

Nun möchte ich ein Programm schreiben das mir eine XML2 Datei ausliest und womit ich mir dann das XML1 File "basteln" kann.

Sprich ich lese XML2 aus und habe das wie folgt aussieht:

[XML]<?xml version="1.0" encoding="UTF-8"?> 
<XMLFxApplication>
	<GlobalSettings>
		<ConnectionString></ConnectionString>
		<User></User>
		<Password></Password>
	</GlobalSettings>
	<Pages>
		<!-- soll n Mal möglich sein -->
		<Page>
			<Name></Name>
			<!-- Textgröße für die Überschrift -->
			<TextSize></TextSize>
			<ContentType></ContentType>
			<ButtonInformation>
				<!-- soll n Buttons beinhalten -->
				<Button>
					<Name></Name>
					<LinkedPage></LinkedPage>
					<Parameter></Parameter>
				</Button>
			</ButtonInformation>
			<!-- entweder eine Table oder ein Textfield -->
			<Table>
				<Name></Name>
				<!-- hier kann die Textgröße für die Table definiert werden -->
				<ContentSize></ContentSize>
				<!-- Hier sollte die Query dann mit einer Libary überprüft werden -->
				<Statement></Statement>
				<NonDisplayRow>
				<!-- soll n beinhalten -->
					<NonDisplay>
						<ColumnName></ColumnName>
					</NonDisplay>
				</NonDisplayRow>
				<!-- für gewisse Spalten kann eine bevorzugte Breite ergänzt werden -->
				<PreferedDimensions>
					<!-- soll n beinhalten -->
					<PreferedDimension>
						<!-- welche Spalte soll eine best. Größe haben -->
						<ColumnName></ColumnName>
						<MinWidth></MinWidth>
						<MaxWidth></MaxWidth>
					<PreferedDimension>
				</PreferedDimensions>
			</Table>

			<!-- oder Textfield -->
			<TextField>
				<Name></Name>
				<!-- Größe des Textes -->
				<ContentSize></ContentSize>
				<!-- Ausrichtung des Textes -->
				<TextOrientation></TextOrientation>
				<!-- Der Text der später angezeigt wird -->
				<Text></Text>
			</TextField>
		</Page>
	</Pages>
</XMLFxApplication>[/XML]

und die Elemente in einem Programm darstellen. 
Sprich ein SplitPane (Vertical) wo auf der rechten Seite Buttons oder Ähnliches die die XML Elemente repräsentieren und links eine Vorschau der fertigen Xml Datei dargestellt werden soll.

Also ich möchte die Buttons von rechts nach links reinziehen und dann links die Vorschau der fertigen XML Datei erhalten. 
Auf der rechten Seite sollen dann jeweils die richtigen Elemente dargestellt werden die als nächstes verwendet werden können.

Zum leichteren verstehen hätte ich euch im Anhang einige Bilder gemacht so wie es aussehen soll bzw. so wie ich es mir vorstellen würde.

Leider weiß ich überhaupt nicht wie ich da vorgehen soll..

Ich hoffe irgendjemand kann mir weiterhelfen.

LG

sparefroh


----------



## fastjack (19. Feb 2014)

Schau mal unter XML-Schema. Aus diesem Schema kannst Du Klassen generieren, zur Laufzeit Dein Objekt zusammenbauen und danach als XML speichern (z.B. mit JAXB oder XmlBeans...)


----------



## anti-held (19. Feb 2014)

Schau dir doch mal das Simple Xml Configuration Framework an:
Simple Examples
Ist eine einfache Lösung, um XmlFiles zu erstellen.
Du erstellst dir für das Xml ein java-Objekt und dieses kannst du dann mit Daten füttern und nach belieben schreiben und auslesen.


----------



## Barista (20. Feb 2014)

> Leider weiß ich überhaupt nicht wie ich da vorgehen soll..



Da hast Du Dir ganz schön was vorgenommen.

Eventuell solltest Du was Fertiges benutzen bzw Dich daran beteiligen statt etwas Eigenes zu entwickeln.

Wäre vex etwas für Dich?


----------



## sparefroh (21. Feb 2014)

Danke für die guten Tipps, also ich werde alles testen und dann bescheid geben 


Leider wird es mit JAXB nichts, da ich schon versucht habe mithilfe von JAXB ein XML File auszulesen, aber da ist dann Exception gekommen und mein Professor hat dann gemeint, dass es ein Problem mit der Schnittstelle zwischen JAVA FX und JAXB gibt und es daher nicht funktioniert....

Deswegen habe ich dann das auslesen der XML mithilfe von JDOM gemacht.


Aber werde mal eure Ratschläge/Tipps testen und dann meine Erfahrungen teilen!

Noch eine kurze Frage.

Wie würdet Ihr das machen, dass ich n Elemente in der XML haben kann?
Sprich eine Page kann n Buttons haben.
Oder eine Table kann n NonDisplayRow bzw n PreferedDimensions haben.

also kann ich dem XML <NonDisplayRow> ein Attribut geben mit dem ich dann identifiziere, ob es n mal vorkommen kann?

z.b <NonDisplayRow name="n">

und dann im Programm Prüfen ob der Name "n" ist.

Wenn ja dann können n Elemente in die Preview gezogen werden.


Ist das so möglich, oder hättet ihr einen besseren Vorschlag?

Danke für eure super Hilfe.


----------



## ARadauer (21. Feb 2014)

sparefroh hat gesagt.:


> mein Professor hat dann gemeint, dass es ein Problem mit der Schnittstelle zwischen JAVA FX und JAXB gibt und es daher nicht funktioniert....


Was hat das eine mit dem anderen zu tun?


----------



## sparefroh (21. Feb 2014)

Nja daher hab ich dann JDOM und nicht JAXB verwendet...

Wollte es nur erwähnen


----------

