Autor Beitrag
no_spoon
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 23.11.07 14:38 
Als Neuling habe ich mich mittlerweile bis zum Speichern von Daten in XML-Dateien durchgearbeitet.
Mit folgender Methode habe ich eine Liste von Hosts (IP-Adressen und deren "Namen") in eine XML-Datei gespeichert:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
public static void WriteHosts_XML(CIPAddressList Hosts)
    {
        int i = 0;
        XmlWriter writer = new XmlTextWriter("hosts.xml"null);

        writer.WriteStartDocument();
        writer.WriteStartElement("Hostlist");
        foreach (CIPAddress Host in Hosts)
        {
            writer.WriteStartElement("host", Hosts[i].IPId.ToString());
            writer.WriteElementString("IPAddress", Hosts[i].IPAdresse);
            writer.WriteElementString("IPName", Hosts[i].IPName);
            writer.WriteEndElement();
            i++;
        }
        writer.WriteEndElement();
        writer.WriteEndDocument();
        writer.Close();
    }


Klappt soweit auch ganz gut. Alledings habe ich jetzt 2 Probleme: wenn ich Änderungen an meiner Klasse (CIPAdressList) vornehmen, muss ich diese Methode auch ändern. Aussserdem bin ich mir nicht sicher, wie ich die Daten wieder auslesen und in einen entsprechenden Array übertragen kann.

Gibt es die Möglichkeit, das Erstellen und Auslesen der XML-Datei insofern zu automatisieren, dass ich bsp. ein Array übergebe und die Datei autom. erzeugt wird bzw. ich beim Auslesen die Datei angebe und der Inhalt autom. in einen Array übertragen wird?
Wäre XmlSerializer der richtige Ansatz? Werde nicht so richtig schlau draus.
Codeexplorer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mo 26.11.07 10:27 
XmlSerializer klingt gut. Unter "XmlSerializer.Serialize-Methode" findest Du in der Hilfe auch ein Codebeispiel.