1

xStream を使用して mysql 値を *.xml ファイルに取得しようとしています。しかし、以下のコードでこれを試すと、最初のオブジェクトが xml ファイルに書き込まれるだけで、最初のオブジェクト以外は何も追加されません。xstream.toXML などの使用に関する問題ですか?

 ResultSet kayit = st.executeQuery("select * from otel");
 XStream xstream = new XStream();
 FileWriter xmlFile = new FileWriter("D:\\OTEL.xml");
 while (kayit.next()) {
  Oteldata o = new Oteldata();
  o.name = kayit.getString("otelisim");
  o.room = kayit.getString("oteloda");
  o.konte = kayit.getString("otelkonte");
  String xml = xstream.toXML(o);
  xmlFile.write("<?xml version=\"1.0\"?>\n");
  xmlFile.write(xml + "\n");
  xmlFile.close();
4

1 に答える 1

1

while ループを開始し、オブジェクトを取得し、xstream.toXML(o) を使用してから書き込みを行い、書き込みファイルを閉じているようです。書き込みループの終了は示されていません。

試す:

ResultSet kayit = st.executeQuery("select * from otel");
XStream xstream = new XStream();
FileWriter xmlFile = new FileWriter("D:\\OTEL.xml");
xmlFile.write("<?xml version=\"1.0\"?>\n");
while (kayit.next()) {
    Oteldata o = new Oteldata();
    o.name = kayit.getString("otelisim");
    o.room = kayit.getString("oteloda");
    o.konte = kayit.getString("otelkonte");
    String xml = xstream.toXML(o);
    xmlFile.write(xml + "\n");
}
xmlFile.close();

ループの前に最初の行の最初の書き込みを行い、次に各オブジェクトの書き込みをループし、ループを閉じてからファイルを閉じます

于 2012-10-04T20:43:49.020 に答える