G
Guest
Gast
Moin zusammen,
ich habe leider folgendes Problem und hoffe hier Hilfe zu finden:
Problembeschreibung:
-> Oracle Datenbank auslesen und aus dem Ergebnis (CLOB) ein XML erstellen und optional esmit zusätzlichen ChildeNotes erweitern. Dieses CLOB enthält bereits nach definition in Oracle ein XML. Muss also "nur noch" in Java darstellbar gemacht werden.
Bisherige Vorgehensweise:
1. Ich hole mir mit Hilfe von JDBC aus einer Oracle Datenbank über eine Abfrage ein CLOB.
2. Danach wandle ich den CLOB mit Hilfe von clobToString um.
3. XML Parsen
4. Als Ergebnis habe ich eine Nodelist erhalten und weiß leider nicht wie ich die speichern, bzw. sichtbar machen kann. Ein Temp-XML File speichern würde mir reichen, bzw. ist auch mein primäres Ziel.
Leider hat das nicht geklappt und hier ist sozusagen mein Knackpunkt - hat jemand einen Vorschlag wie das gehen könnte - bin für jeden Denkanstoß dankbar. Andere Wege sind auch erwünscht
Grüße und danke schon im voraus
Dominik
ich habe leider folgendes Problem und hoffe hier Hilfe zu finden:
Problembeschreibung:
-> Oracle Datenbank auslesen und aus dem Ergebnis (CLOB) ein XML erstellen und optional esmit zusätzlichen ChildeNotes erweitern. Dieses CLOB enthält bereits nach definition in Oracle ein XML. Muss also "nur noch" in Java darstellbar gemacht werden.
Bisherige Vorgehensweise:
1. Ich hole mir mit Hilfe von JDBC aus einer Oracle Datenbank über eine Abfrage ein CLOB.
Code:
String url = "jdbc:oracle:thin:@localhost:1521:orcl10g";
Connection con = DriverManager.getConnection(xxx, "xxx", "xxx");
str = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String sql = "SELECT xxx AS data FROM dual";
erg = str.executeQuery(sql);
erg.next();
xml = clobToString(erg.getClob("data"));
2. Danach wandle ich den CLOB mit Hilfe von clobToString um.
Code:
String clobToString(Clob clob) throws IOException
{
String s = null;
try
{
s = clob.getSubString(1L, (int) clob.length());
}
catch (SQLException e)
{
}
return s;
}
3. XML Parsen
Code:
public static NodeList parseXML (String s) {
DOMParser d = new DOMParser();
try {
d.parse( new StringReader(s) );
return ((XMLDocument)d.getDocument()).selectNodes("/");
} catch (Exception e) {
return (new XMLDocument()).getChildNodes();
}
}
4. Als Ergebnis habe ich eine Nodelist erhalten und weiß leider nicht wie ich die speichern, bzw. sichtbar machen kann. Ein Temp-XML File speichern würde mir reichen, bzw. ist auch mein primäres Ziel.
Leider hat das nicht geklappt und hier ist sozusagen mein Knackpunkt - hat jemand einen Vorschlag wie das gehen könnte - bin für jeden Denkanstoß dankbar. Andere Wege sind auch erwünscht
Grüße und danke schon im voraus
Dominik