Hallo,
dein Problem liegt an der Art, wie du speicherst. Ich vermute, du hast eine oder mehrere Schleifen, die die Daten in die Feeds.xml schreiben. Tritt in der Schleife ein Fehler auf, gehen die Daten verloren, die noch nicht hinzugefügt wurden oder ähnliches.
Den Feed-Inhalt nur beim Beenden zu speichern reicht. Ich bezog mich eher auf die Liste der Feeds links, denn diese sollte nicht erneut gespeichert werden, wenn keine Feeds hinzukommen/gelöscht werden. Nur falls ich Feeds hinzufüge oder lösche, sollte diese Liste direkt danach gespeichert werden. Du hast das zwar alles (Feed-
URL + Inhalt) in der Feeds.xml, doch wäre evtl. sinnvoller das zu trennen. Du kannst es auch bei einer einzigen Datei belassen, doch dann musst du unbedingt etwas beim Speichern ändern.
Bei
XML müsste es doch auch möglich sein, nur Teile einer Datei zu ändern, d.h. die Feed-URLs könntest du dann unangetastet lassen und nur den Inhalt aktualisieren. Ich bin mir gerade nicht sicher, ob das geht.
Sonst könntest du beispielsweise die Datei zuerst temporär speichern und bei Erfolg die Feeds.xml mit dieser Datei ersetzen. Das waren jetzt nur 2 mögliche Vorschläge, um den Datenverlust zu minimieren. Du musst auf jedenfall dafür sorgen, dass die Feed-Links im Falle eines Programmabsturzes nicht gelöscht werden, sonst werden die Anwender nicht sonderlich erfreut darüber sein.