DB 2 XML

Status
Nicht offen für weitere Antworten.

Newcomer2007

Mitglied
Hallo zusammen,

möchte aus Performancen Gründen meine statischen Daten nicht aus der Datenbank, sondern aus einer XML Datei lesen.

Kann mir jemand sagen wie ich ein erzeugtes File im XML Format ablegen kann.
Oder muss ich meine Tags von Hand einrücken ? :bahnhof:

Code:
 das ist mein code
      Statement stmt = this.conn.getConnection().createStatement();
      ResultSet rs = stmt
          .executeQuery("Select * from demokunde");

      ResultSetMetaData meta = rs.getMetaData();

      int columnCount = meta.getColumnCount();
      Object obj = null;
      File file = new File("C:/xmlTest/",
      "TestDatei.xml");
      OutputStream os = new FileOutputStream(file); 
      PrintStream ps = new PrintStream(os);
      
      ps.println("<Table name='DEMOKUNDE'>");
      
      while (rs.next())
      {
        ps.print("<Kunde");
        for (int i = 1; i <= columnCount; i++)
        {
          obj = rs.getObject(i);
          ps.print(meta.getColumnName(i) + "='");
          

          if (rs.wasNull())
          {ps.print("isNull' ");
            
          }
          else
            ps.print(obj.toString() + "' ");  
          
        }
        ps.println("</Kunde>");
      }
      ps.println("</Table>");
      
      
      os.close();
      

    }
    catch (SQLException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    catch (FileNotFoundException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    catch (IOException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }

Danke

Viele Grüße
Newcomer2007
 

André Uhres

Top Contributor
Newcomer2007 hat gesagt.:
..Oder muss ich meine Tags von Hand einrücken ?..
Es geht auch automatisch, wenn man ein XML Dokument erstellt ("org.w3c.dom.Document")
und dieses mit einem "javax.xml.transform.Transformer" in eine XML-Datei verwandelt:
Code:
       transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
Das funktioniert mit Java 4 und Java 6.
Java 5 hat diesbezüglich einen Bug, so daß es damit leider nicht funktioniert.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben