XML Document erweitern

VanHellsehn

Erfahrenes Mitglied
Hi,
Ich komme irgendwie nicht ganz mit dem XML-KLassen von C# klar.
Und zwar möchte ich eine XML-Datei erzeugen die so auf ´gebaut ist:
XML:
<downloads>
 <download>
  <interpret>Bla</interpret>
  <album>Blubb</album>
 </download>
</downloads>
Das habe ich auch hin bekommen:
Code:
				XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
				myRoot = doc.CreateElement("downloads");
				
				doc.AppendChild(docNode);
				doc.AppendChild(myRoot);				
				myNode = doc.CreateElement("download");
				myRoot.AppendChild(myNode);
				
				myNode2= doc.CreateElement("interpret");
				myNode2.AppendChild(doc.CreateTextNode(this.textBox1.Text));
				myNode.AppendChild(myNode2);
				
				myNode2= doc.CreateElement("album");
				myNode2.AppendChild(doc.CreateTextNode(this.textBox2.Text));
				myNode.AppendChild(myNode2);
				
				doc.Save("test.xml");
Nur möchte ich dieses Docoment immer wieder erweitern.
Das heißt wenn ich einmal was drin stehen habe dann soll es drin bleiben und ein neuer Download angefügt werden. Ich habe versucht die Datei zu lesen und wieder zu schreiben dann aber plus den neuen Daten.. Habs aber nich hinbekommen. Es geht bestimmt ziemlich einfach..

Wäre nett wenn ihr mir helfen könntet =)
 
Zuletzt bearbeitet von einem Moderator:
Das ganze klingt so als ob es eine Konfigurationsdatei werden soll. Wenn dem so ist, kannst du dir ja mal (De)Serialisierung von Klassen anschauen. Anschließend könntest du dir folgendes bauen.

Klasse Downloads
Code:
public class Download
{
    public string Interpret {get; set;}
    public string Album {get; set;}
}

Code:
public class DownloadConfig
{
    public List<Download> Downloads {get; set;}

    public void SaveToFile(string path)
    {
    //hier Serialisierungslogik
    }

    public static DownloadConfig LoadFromFile(string path)
    {
    //hier Deserialisierungslogik
    }
}
 

Neue Beiträge

Zurück