XML schreiben
-
Hallo, ich habe folgende XML aufbau:
<database> <bank> <BLZ>aaa</BLZ> <Bezeichnung>bbb</Bezeichnung> <PLZ>ccc</PLZ> <Ort>...</Ort> <Verfahren>...</Verfahren> <Client>...</Client> <Entwickler>...</Entwickler> <Homepage>...</Homepage> <Bemerkung>...</Bemerkung> </bank> <bank> <BLZ>...</BLZ> <Bezeichnung>...</Bezeichnung> <PLZ>...</PLZ> <Ort>Aachen</Ort> <Verfahren>...</Verfahren> <Client>...</Client> <Entwickler>...</Entwickler> <Homepage>...</Homepage> <Bemerkung>...</Bemerkung> </bank> ... <bank> .... </bank> </database>
-
wie kann ich jetzt mit c#.net an bestimmten stelle (z.B. bei 2.Datensatz unter Ort) von Aachen nach Mönchengladbach umändern ?
-
wie kann ich in dieser XML datei bestimmte stelle finden ? (wenn man berücksichtigt, dass jeder datensatz einmalige BLZ hat)
mfg,
Sergius
-
-
Die elegenateste und wie ich finde beste art und weise ist. Für eine XML die man erzeugen/einlesen möchte eine Klasse erstellen und diese mit dem XmlSerializer zu Serialisieren/Deserialisieren.
Bsp.:
[Serializable()] public class TheXml { private int m_Width; private int m_Height; // Es werden nur public Variablen/Properties serializiert // Properties müssen eine Get und Set "Methode" haben. public int Width { get { return m_Width; } set { m_Width = value; } } public int Height { get { return m_Height; } set { m_Height= value; } } public static void Main(string[] args) { System.Xml.Serialization.XmlSerializer s = new System.Xml.Serialization.XmlSerializer(typeof(TheXml)); FileStream stream = new FileStream(@"C:\test.xml", FileMode.Create, FileAccess.Write); TheXml xml = new TheXml(); xml.Width = 100; xml.Height = 200; // Die Xml Datei erzeugen s.Serialize(stream, xml); stream.Close(); FileStream stream = new FileStream(@"C:\test.xml", FileMode.Open, FileAccess.Read); // Aus der Datei lesen TheXml xml2 = (TheXml)s.Deserialize(stream); } }
Das Ergebnis sieht ungefähr so aus:
<TheXml>
<Height>200</Height>
<Width>200</Width>
</TheXml>