XML - Datensatz anhängen
-
Hey!
Tja, hab' folgendes Problem, wenn ich Daten in eine XML-Datei schreibe:
XmlTextWriter XML = new XmlTextWriter("Daten.xml", null); XML.Formatting = Formatting.Indented; XML.WriteStartDocument(); XML.WriteStartElement("Daten"); XML.WriteAttributeString("xmlns", null, "http://tempuri.org/Daten.xsd"); XML.WriteStartElement("ID"); XML.WriteString(id.Text); XML.WriteEndElement(); XML.WriteStartElement("Name"); XML.WriteString(name.Text); XML.WriteEndElement(); XML.WriteEndDocument(); XML.Close();
Wenn ich das so mache und das Ganze dann dem Click-Event eines Buttons hinzufüge, dann wird zwar eine XML-Datei erstelle, wenn ich aber den 2.Datensatz eingeben will, wird der erste wieder überschrieben. Wahrscheinlich liegt's daran:
XmlTextWriter XML = new XmlTextWriter("Daten.xml", null);
Ist ja auch klar, wenn jedesmal ein neues Objekt erstellt wird. Aber wie kann ich den 2.Datensatz praktisch hinter dem 1. in die XML-Datei schreiben...die Datei also erweitern???
Mal 'ne andere Frage: Ist es überhaupt sinnvoll, seine Daten per XML zu speichern, wenn die Anwendung nix mit Web oder so zu tun hat? Wär' SQL sinnvoller? Oder gibt's noch 'ne andere Möglichkeit? Im Prinzip muss ein Datensatz nur einen Namen (also string) und ca. 30 int-Werte enthalten. Bringt's XML da?
Vielen Dank für Eure Hilfe,
Exterminator
-
Exterminator,
Exterminator schrieb:
Ist ja auch klar, wenn jedesmal ein neues Objekt erstellt wird.
die Hilfe drückt sich da auch recht klar aus: "Wenn die Datei vorhanden ist, wird diese abgeschnitten und mit dem neuen Inhalt überschrieben."
Exterminator schrieb:
Aber wie kann ich den 2.Datensatz praktisch hinter dem 1. in die XML-Datei schreiben...die Datei also erweitern???
Da fallen mir zwei Möglichkeiten ein: Laden, Verändern und Zurückschreiben der XML-Daten mit Hilfe von:
a) XMlDocument
b) DataSetExterminator schrieb:
Mal 'ne andere Frage: Ist es überhaupt sinnvoll, seine Daten per XML zu speichern, wenn die Anwendung nix mit Web oder so zu tun hat? Wär' SQL sinnvoller? Oder gibt's noch 'ne andere Möglichkeit?
Erst einmal besteht zwischen XML und dem Web keine Form der Abhängigkeit. XML ist eine Möglichkeit, Daten strukturiert zu generieren und zu lesen. Ob es für Dich in Frage kommt, hängt von der speziellen Anwendung ab.
Wenn Du nur wenig Daten zu speichern hast, könnte XML eine Lösung sein. Willst Du z.B. nur Programm-Konfigurationen speichern, ist XML die erste Wahl. Mußt Du mit Massen-Daten umgehen, währen Datenbanken (SQL-Server oder was auch immer) besser geeignet. Sind Deine Datenstrukturen überschaubar, kannst Du u.U. auch ein eigenes Format (flat file) definieren und damit die Abhängigkeit von einem Datenbank-Hersteller vermeiden.