select-statement aus mysql in ein xml-file umwandeln

Status
Nicht offen für weitere Antworten.

top

Neues Mitglied
Hallo Leute,

ich bin neu hier und habe das folgende Problem:

ich will mittels Java-Code aus einer MySQL DB ein select-Statement extrahieren und das Ergebnis als XML-File erzeugen. Dabei sollen die Spaltenbezeichnungen der DB die childs sein. Den XML-Root kann ich ohne Probleme im Code vorgeben (z. B.: Adresse).

Gut funzt der Connect mit der DB. Auch kann ich natürlich den XML-Tree künstlich im Code erzeugen. Aber gibt es keine andere Möglichkeit als die folgende:

Code:
//xml-file erzeugen
 
import java.sql.*; 

public class dbxy { 
  public static void main (String args[]) { 
    String URL = "jdbc:mysql://localhost/dbxy"; 
    String benutzername = "root"; 
    String passwort = ""; 

    // Treiber laden 
    try { 
       Class.forName("com.mysql.jdbc.Driver"); 
    } 
    catch (Exception e) { 
       System.out.println("JDBC/ODBC-Treiber konnte nicht geladen werden."); 
       return; 
    } 

    // Verbindung zu Datenbank aufbauen 
    Statement befehl = null; 
    Connection verbindung = null; 
    try { 
       verbindung = DriverManager.getConnection ( 
                      URL, 
                      benutzername, 
                      passwort); 
       befehl = verbindung.createStatement(); 
    } 
    catch (Exception e) { 
       System.err.println("Verbindung zu "+URL+" konnte nicht hergestellt werden"); 
    } 

    // Daten auslesen 
    try { 
       ResultSet datenmenge; 
       datenmenge = befehl.executeQuery("Select * from .....); 

       /*Überschriften ausgeben 
       System.out.println(); 
       System.out.println(" ID \t Name \t Vorname \t Homepage \t EMail "); 
       System.out.println();*/ 

       // Einzelne Datensätze ausgeben 
       int             ID; 
       String        Name; 
       String        Vorname; 
       String        Homepage; 
       String        EMail; 
       
         while(datenmenge.next()) { 
         ID = datenmenge.getInt("ID"); 
         Name = datenmenge.getString("Name"); 
         Vorname = datenmenge.getString("Vorname"); 
         Homepage = datenmenge.getString("Homepage"); 
         EMail = datenmenge.getString("EMail"); 
        
        //Nun also das XML-Schema angeben
         System.out.println("\n"); 
         System.out.println("<ID>"+ID+"<ID>"); 
         System.out.println("<Name>"+Name+"<Name>"); 
         System.out.println("<Vorname>"+Vorname+"<Vorname>"); 
         System.out.println("<Homepage>"+Homepage+"<Homepage>"); 
         System.out.println("<EMail>"+EMail+"<EMail>"); 
         
       verbindung.close(); 
    } 
    catch (Exception e) { 
       e.printStackTrace(); 
    } 
  } 
}

Was ich konkret suche ist eine Klasse die unter Verwendung der Spaltenbezeichnung aus dem select-statement automatisch ein XML-Dokument generiert.

Vielen Dank vorab für Eure Antworten.

Salut
top
 

KSG9|sebastian

Top Contributor
- zuerst mal würde ich ne XML API nehmen und nicht alles mit println machen
- du könntest die Spaltennamen festhalten (z.B. in ner properties-Datei) und die XML-Datei dynamisch erzeugen
 

KSG9|sebastian

Top Contributor
aehm..sowas hier geht:

Code:
ResultSet res = ..
ResultSetMetadata meta = res.getMetaData();
int cols = meta.getColumnCount();

Über die Metadata kannst du dann die Namen und Typen der Spalten herausfinden
 

top

Neues Mitglied
@KSG9lSebastian,

vielen Dank für Deinen Request. tut mir leid, daß ich mich erst jetzt wieder melde (grippaler Infekt läßt grüßen). Ich werde Deinen Hinweis mal ausprobieren und melde mich dann wieder. Vorab schon mal frohes Fest.

salut
top
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben