2016-05-15 9 views
0

Ich erstelle eine XML-Datei auf externen Speicher für App. Ich kann Daten schreiben, aber ich möchte, dass die neuen Daten angehängt und nicht überschrieben werden. Hier ist der Code, der in die XML-Datei schreibt, aber nicht anfügt. Ich würde Ihre Hilfe wirklich zu schätzen wissen. Danke, Ich möchte etwas so erstellen.Erstellen von XML in Android

<data> 
<name>Name1</name> 
<books>Book1</books> 
<movies>Movie1</movies> 
</data> 
<data> 
<name>Name2</name> 
<books>Book2</books> 
<movies>Movie2</movies> 
</data> 


String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/MyApp" + "/MyAppData.xml"; 
        fileos = new FileOutputStream(file_path); 

          xmlSerializer = Xml.newSerializer(); 
          StringWriter writer = new StringWriter(); 
          xmlSerializer.setOutput(writer); 
          xmlSerializer.startDocument("UTF-8", true); 
          xmlSerializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); 

          xmlSerializer.startTag(null, "data"); 
          //tag date 
          xmlSerializer.startTag(null, "name"); 
          xmlSerializer.text("Amber"); 
          xmlSerializer.endTag(null, "name"); 

          xmlSerializer.startTag(null, "books"); 
          xmlSerializer.text(enter_books); 
          xmlSerializer.endTag(null, "books"); 

          xmlSerializer.startTag(null, "movies"); 
          xmlSerializer.text(enter_movies); 
          xmlSerializer.endTag(null, "movies"); 


          xmlSerializer.endTag(null, "data"); 
          xmlSerializer.flush(); 

          String dataWrite = writer.toString(); 
          fileos.write(dataWrite.getBytes()); 
          fileos.close(); 
+0

XML keine "anhängen" Konzept unterstützen. Sie müssten das vorhandene XML einlesen und mit Ihren zusätzlichen Elementen zurückschreiben. Oder sehen Sie, ob es eine Bibliothek gibt, die einen Anhang leichter verarbeiten kann. – CommonsWare

+0

Können Sie beim Lesen vorhandener Daten und beim Schreiben darauf helfen? – artist

+0

Laden Sie die Daten in eine DOM-Struktur ('javax.xml.parsers.DocumentBuilder'), hängen Sie die neuen Elemente als untergeordnete Elemente des Stammverzeichnisses an und schreiben Sie sie dann auf. Es gibt eine Menge Dokumentation darüber, wie man das macht. –

Antwort