Datenbank-Tabelle to XML

Didi_R

Mitglied
moin,

gibt es schon eine einfach lib mit der man eine Datenbanktabell nach XML packen kann?

Datenbank

Col1 Col2 Col3
1 Peter Pan
2 Max Sonstwas



XML

<row1>
<col1>1</col1>
<col2>Peter</col2>
<col3>Pan</col3>
</row1>
<row2>
...


Gruß
didi
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Fertig kenn ich da jetzt grad nichts aber mit JPA und JAXB kannst du Pojos nach Datenbankschema aufbauen und mit beiden Sorten Annotations versehen. Dann Entity aus der DB per JPA laden und per JaxbContext wegschreiben :)
 

guni

Bekanntes Mitglied
was ist es denn für eine Datenbank?!
Zumindest von Oracle weiß ich, dass du deinen Select schon so aufbauen könntest, dass du das Ergebnis als XML-zurückbekommst.
 

guni

Bekanntes Mitglied
bitte.

nur interessenshalber: für welche Programmiersprache hast du dich denn entschieden?
warum schreibst du dir in java nicht einen XmlReader dem du in den Konstruktor ein ResultSet (oder einen query-String) übergibst?!

lg, guni
 

Didi_R

Mitglied
bitte.

nur interessenshalber: für welche Programmiersprache hast du dich denn entschieden?
warum schreibst du dir in java nicht einen XmlReader dem du in den Konstruktor ein ResultSet (oder einen query-String) übergibst?!

lg, guni

Die Entscheidung liegt nicht bei mir.
Da sind alle Programm hauptsächlich in RPG und deren üblichen Sprachen geschrieben. Java wäre dann nur vorteilhafter gewesen wenn ich so gut wie nix machen müsste ausser vielleicht eine lib anzusprechen der ich meine Datenbank-Tabelle übergebe und xml zurückbekommen hätte!
Aber da dem nicht so ist, bekomme ich nicht das Projekt!

Und wie aufwendig eure Ideen zu der RPG variante ist, kann ich nicht beurteilen!

gruß
didi
 

guni

Bekanntes Mitglied
Und wie aufwendig eure Ideen zu der RPG variante ist, kann ich nicht beurteilen!
hmm ... RPG sagt mir nichts, aber den Java-Aufwand würde ich auf ca. 10-15 Lines of Code schätzen:
Java:
		// Document aufbauen
		Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
		Element root = d.createElement("RESULT");
		
		// Datenbankverbindung herstellen
		Class.forName(this.driver);
		Connection conn = DriverManager.getConnection(this.connstr, this.db_user, this.db_pass);
		Statement s = conn.createStatement();
		ResultSet r = s.executeQuery(this.sqlquery);
		ResultSetMetaData rsmd = r.getMetaData();
		
		int columnCount = r.getMetaData().getColumnCount();
		while (r.next()) {
			Element row = d.createElement("ROW");
			for (int i=1; i<columnCount+1; i++) {
				row.setAttribute(rsmd.getColumnLabel(i), r.getString(i));
			}
			root.appendChild(row);
		}
... hab es jetzt nicht wirklich ausprobiert - aber so müsste es meiner Meinung nach gehen.

mfg, guni
 

Ähnliche Java Themen

Neue Themen


Oben