xml -> relationale Datenbank

Status
Nicht offen für weitere Antworten.

chris12

Mitglied
Hallo,

ich möchte xml-Daten in eine relationale Datenbank schreiben, also auch die Struktur des xml-Dokuments auf die Datenbank abbilden. ich bin noch recht neu im XML Bereich und habe nicht so den wirklichen Überblick was sich dort alles für Möglichkeiten anbieten. Eine die mir einfällt, ist einen DOM-Tree zu erstellen und die Objekte dann z.B. Hibernate in die Datenbank zu übertragen. Aber es muss doch noch andere Ansätze geben?

würde mich über einige Anregungen freuen,
Chris
 

Bleiglanz

Gesperrter Benutzer
es gibt keine gute "allgemeingültige Lösung"

schau dir mal verschiedene XML-Java-Mapper an (JaxMe, XMLBeans, Castor), einige davon können aus einem "einfachen" Schema SQL-Code erzeugen (keine Ahnung wie gut)

wenn alles sehr einfach ist
Code:
<person name="Sepp" alter="33"/>

wird zu

CREATE TABLE person (name char(30), alter int)

im Prinzip muss man - mit Hilfe seiner grauen Zellen - ein Tabellenschema entwerfen, das "passt"
 

chris12

Mitglied
@Bleiglanz: danke, sowas kommt meine Vorstellugen schon recht nahe. Aber wie bekomme ich nun die Daten in die neu angelegten Tabellen? wird das auch vom Mapper übernommen? oder muß ich das selbst machen?

@Dukel: hast du Erfahrungen mit solchen Datenbanken? ich hab mich mal ein wenig umgeschaut und bin auf eXist gestoßen. Hört sich schon interessant an, werd ich bei Gelegenheit mal ausprobieren bin aber wohl derzeit an eine relationale Datenbank gebunden
 

Bleiglanz

Gesperrter Benutzer
chris12 hat gesagt.:
@Bleiglanz: danke, sowas kommt meine Vorstellugen schon recht nahe. Aber wie bekomme ich nun die Daten in die neu angelegten Tabellen? wird das auch vom Mapper übernommen? oder muß ich das selbst machen?

hängt vom Tool ab, würde aber vermuten dass die im Allgemeinen "zu schlecht" sind; normalerweise hat man beim Entwurf einer SQL-Datenbank ganz andere Design-Ziele als bei einem XML-Schema, glaube eigentlich nicht, dass sich das so gut automatisieren lässt

wird man am lieber von Hand erledigen, z.B. zum Einlesen einen SAX - Defaulthandler, der alles aufsammelt und bei jedem endElement mit JDBC eine Zeile einträgt...

für einfache Strukturen könnte sich auch das WebRowSet eignen (seit Java5 im Lieferumfang)
 

chris12

Mitglied
Bleiglanz hat gesagt.:
hängt vom Tool ab, würde aber vermuten dass die im Allgemeinen "zu schlecht" sind; normalerweise hat man beim Entwurf einer SQL-Datenbank ganz andere Design-Ziele als bei einem XML-Schema, glaube eigentlich nicht, dass sich das so gut automatisieren lässt

hm, ich befürchte auch, dass das schwierig wird. aber diese Automatisierung wäre ja genau das was ich bräuchte oder halt selber machen muss :?
aber danke erst mal für die Tipps, nun weiß ich in etwa wo ich ansetzen muss.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben