Daten aus DB in XML-Datei schreiben

Für ne Hausaufgabe reichts das mal eben so zu machen ;)

Wenn dann würde ich eher XStream verwenden. Dann muss man gar nichts mit XML zu tun haben.
 
Danke für eure Antworten.

Ich wollte das ganze ursprünglich mit SAX realisiern, hatte aber Probleme damit die Daten aus der Datenbank an Sax zu übergeben und nachher auszugeben.
 
Für ne Hausaufgabe reichts das mal eben so zu machen ;)

Wenn dann würde ich eher XStream verwenden. Dann muss man gar nichts mit XML zu tun haben.

Mit X-Stream ist es auch OK.

Gibt dir dein Prof keinen heftigen Punkteabzug, wenn er sieht wie du XML-Dokumente per Hand zusammenstrickst?
Da kann dich ANT auch nicht mehr raushauen....
 
Das wird sich noch herausstellen. Mal abgesehen davon ist das nur ein teil der Hausarbeit. Denn ich lese die Daten nachher auch wieder aus und stelle sie mit xsl dar.

Vielleicht wage ich mich ja noch an SAX ran, aber ich muss heute fertig werden ^^
 
Mit XStream hättest du ja beides. Sowohl auslesen als auch schreiben und das ganze auch noch in schönen Java-Objekten. Gucks dir doch mal kurz an: xstream.codehaus.org
 
sieht interessant aus, ich habe aberimmer das gleiche Problem. Wie bekomme ich die Daten aus der Datenbank übertragen außer mit

String resultat = rs.getString("Abfrage")

also wie sage ich XSTREAM nimm die Daten aus der DB ... Damit tue ich mich immer sehr schwer ^^
 
Bau dir eine Klasse, die die Informationen aus einer Row beinhaltet.
Dann das Object mit X-Stream in ein XML-Dok umwandeln.
oder mit Dom4J:

Java:
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class Foo {

    public Document createDocument() {
        Document document = DocumentHelper.createDocument();
        Element root = document.addElement( "root" );

        Element author1 = root.addElement( "author" )
            .addAttribute( "name", "James" )
            .addAttribute( "location", "UK" )
            .addText( "James Strachan" );
        
        Element author2 = root.addElement( "author" )
            .addAttribute( "name", "Bob" )
            .addAttribute( "location", "US" )
            .addText( "Bob McWhirter" );

        return document;
    }
}
 
Zuletzt bearbeitet:
Auch auf die Gefahr hin mich blöd anzustellen, aber verstehe ich es richtig.

Du meinst ich soll die Daten lieber manuell in dieser Row Datei eingeben und nachher nur umwandeln

Genau das möchte ich gerade vermeiden Ich möchte unbedingt mit einer DB arbeiten. Neue Mitarbeiter sollen einfach nur noch über ein insert hinzugefügt werden können, ohen das jemand in den Daten nachher noch arbeitet. Deswegen lese ich die Daten ja aus der DB aus.

Trotzdem danke für den Tipp
 
Nein.
Du erstellest eine Klasse.
Meinetwegen Person.
Diese Klasse beinhaltet alle Felder aus der DB.
Bsp;
String getName()
setName(String name)
int getAlter()
setAlter(int alter)

Dann holst du dir die Daten aus der DB und erstellst analog zu einer Row aus der DB ein Person Object:
Person p = new Person();
p.setName(rs.getString("name));
p.setAlter(rs.getInteger("alter));

u.s.w

nun hast du deine Row schonmal in einem Objekt.
Diese Objekt kannst du nun an x-Stream übergeben und X-Stream baut dir daraus ein XML Dokument.

oder mir DOM4J (allerdings musst du dann selber aus dem entspr. Objekt ein XML-Dok erzeugen)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück