XML erzeugen Tipps und Tricks

Chrizz993

Mitglied
Hallo zusammen,

ich habe noch nie mit XMLs gearbeitet und suche daher etwas Hilfe.


Ich möchte gerne eine DB auslesen und aus den ausgelesenen Daten eine bzw. viele XML Datein erzeugen für verschiedene Tupel.

Mein Grundidee ist das ganze einfach immer mir als String zusammen zu bauen und dann in eine Datei zu schreiben, die ich mit .xml enden lasse.

Jetzt mein Frage: Gibt es eine bessere variante?
Also wo könnte ich mich mal einlesen bzw was ist bei der Erzeugung von XML's unter Umständen zu beachten und wie mache ich das ganze möglichs elegant?

Vielen Dank
Lg
Christian
 

knilch

Bekanntes Mitglied
[ups, war wohl zu wenig schnell... ;-)]
Hi,
Ich mach das immer so, dass ich eine Datenstruktur erstelle, welche das Model der DB abbildet. Beim Einlesen der Daten aus der DB wird dann die Struktur aufgefüllt.
Das Schreiben der Struktur in ein xml mach ich dann mit DOM. Damit hab ich am Anfang wesentlich mehr aufwand, bis das ganze so funktioniert wie es soll, aber dadurch bin ich weit flexibler für Erweiterungen und Änderungen.
Ich hatte es am Anfang auch mit Strings und concatenation gemacht. Bei kleinen XML- Files geht das schon, aber wenn diese komplex sind, wird das mit den Strings z.T. richtig mühsam.
Besonders wenn du viele verschiedene xml- Dateien mit unterschiedlichen Nodes und Attributs hast, bist du mit einer Datenstruktur und DOM wesentlich besser da, als wenn du das ganze mit String und fileReader machen würdest.
 
Zuletzt bearbeitet:

Chrizz993

Mitglied
Hey! Super vielen Dank soweit.


Eine letzte Frage hätte ich noch:
Wenn ich die Tuple meiner DB einlesen, dann wir es so sein, dasss die Namen im XML genauso heißen werden wie sie in der DB heißen (Was ja auch sinn macht)

Ist es möglich bzw auch sinnvoll, dass ich mir die namen der Variablen automatisch aus der DB ziehe?

Sprich: Wenn das Attribut Alter in der DB heißt, kann ich dann irgendiwe die DB einlesen und automtisch dafür eine Variable vom Typ Int mit dem Namen Alter erzeugen?

Meine Befürchtung ist, das wenn ich 100 Variblen aus der DB einlesen muss, dieser erst einmal per Hand deklarieren muss und zuweisen muss.

Kann ich mir diesen Schritt irgendwie automatisieren? :)
 

Phash

Top Contributor
Generell könntest du dir mit den Hibernate Tools das Datenbankmodell erzeugen lassen. (Reverse Engineeren)
die MySQL Workbench kann das afaik auch.

Du kannst dir damit Java Klassen erzeugen lassen.

Ansonsten kannst du DB Tabellen auslesen, und dir die Spaltenamen da raus ziehen, das macht ja jedes SQL Anzeigetool genauso :)
(Beispiel SQuirreL)

da hilft dir sicher das hier weiter:
DatabaseMetaData (Java Platform SE 7 ))
 
Zuletzt bearbeitet:

knilch

Bekanntes Mitglied
100 Variablen von hand, das ist doch to much. Wenn du unterschiedliche variablennamen in der DB hast, kannst du das mit einer HashMap implementieren. Da hast du key (variablenname der DB) und value (wert der DB-Variable).
 

Chrizz993

Mitglied
@knilch:
Was für vorteile bringt mit eine HasMap im Vergleich zu einem 2 Dimensionalem Array?
Wirkt für mich ziemlich gleich. Ich muss doch jeweils einen Attributnamen und den entsprechenden Wert angeben.
 

knilch

Bekanntes Mitglied
@knilch:
Was für vorteile bringt mit eine HasMap im Vergleich zu einem 2 Dimensionalem Array?
Wirkt für mich ziemlich gleich. Ich muss doch jeweils einen Attributnamen und den entsprechenden Wert angeben.
Klar kannst du auch ein 2D Array dafür einsetzten. Mit der HashMap hast du dabei die Vorteile von Collections um die Elemente zu sortieren etc.
Im Moment brauchst du das vielleicht nicht, aber denke immer daran, dass eine Software lebt und Anpassungen wo auch immer gemacht werden müssen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Erzeugen einer openapi spec via swagger XML & JSON 1
W Erzeugen einer Handlerklasse zum Abfangen von SOAP-Requests XML & JSON 13
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
A GUI um auf XSD Basis (valide) XML Daten zu erzeugen XML & JSON 3
M JAXB versucht abstrakte Klasse zu erzeugen XML & JSON 7
J XML Parser anhand xsd erzeugen XML & JSON 2
A Fehler beim Erzeugen eines XML-Schema XML & JSON 4
H PDF erzeugen mit FOP(fo fehlerhaft) XML & JSON 2
S JDOM ohne XML Header erzeugen? XML & JSON 2
R XSD aus Java Klassen erzeugen?? XML & JSON 2
S Aus XML-File eine Baumstruktur erzeugen XML & JSON 5
P cxf: WSDL dynamisch erzeugen (zur Laufzeit) XML & JSON 7
F XML erzeugen aus JTree und wieder einlesen... XML & JSON 6
N Teilbaum aus DOM-Baum erzeugen XML & JSON 5
sylo Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
S Java - Klassen erzeugen aus xsd bzw. wsdl XML & JSON 3
J Objektstruktur aus XML-Datei erzeugen XML & JSON 21
T Einzug bei XSLTransformator erzeugen XML & JSON 3
P XSD Schema: Konstanten mit "fixed" erzeugen geht nicht ??? XML & JSON 3
G Welche Klassen zum erzeugen/auslesen eines XML Files verwend XML & JSON 9
B jdom document aus string erzeugen? XML & JSON 1
H PDFs erzeugen mit Apache FOP XML & JSON 3
D XML Datei mit DOM erzeugen XML & JSON 6
G JAXB Objekte erzeugen XML & JSON 3
E XOM setzen von XML-Schema declaration beim erzeugen XML-File XML & JSON 2
B DTD aus Java erzeugen XML & JSON 2
M PDF erzeugen aus Stringarray XML & JSON 1
G XML Dokument mit DOM erzeugen XML & JSON 9
S svg erzeugen XML & JSON 2
B org.w3c.dom.Node erzeugen XML & JSON 2
B XML-Document mit Java erzeugen und zuruecksenden XML & JSON 1
S Menüeinträge aus XML erzeugen XML & JSON 21
K xml Datei mit JDOM erzeugen, Problem Namespaces XML & JSON 1

Ähnliche Java Themen

Neue Themen


Oben