![]() |
C# & xml
Hi
ich habe ein kleines problem mit xml datein. Ich möchte Pfade (48 * 32) sortiert in einer xml-Datei speichern. allerdings werden bei mir immer nur die letzten beiden erstellt. Hat dafür jmd eine lösung? Code:
for (int i = 1; i < 49; i++) Code:
<icon32> |
Weil du immer ein neues XmlDocument erstellst und dadurch die alten Inhalte überschreibst.
XmlDocument doc = new XmlDocument(); ausserhalb der schleife erzeugen. |
Hier der neue code
Code:
XmlDocument doc = new XmlDocument(); Code:
<icon1> edit: Das doc.save außerhalb der schleife zu packen habe ich ebenfalls versucht (die xml wird dann nicht mehr erstellt). |
Code:
XmlDocument doc = new XmlDocument(); vorher hast du immer nur 2 Objekte für die XML Knoten gehabt (myRoot und myNode), diese sind zwar immer mit doc.CreateElement überschrieben worden, jedoch weiß ich nicht was die Methode "CreateElement" genau macht (kann sein das er nicht ein neues Objekt erzeugt), dadurch wurden womöglich die alten objekte überschrieben und keine neuen XML-Knoten hinzugefügt. |
konnte nun alles lösen vielen dank für die Hilfe :)
Wenn erneut Probleme auftreten werde ich diese in diesem theard posten :P |
Oh Gott... verwende doch die XML-Attributes und den XMLSerializer und Du brauchst keine einzige Zeile programmieren!
|
Hast du ein Beispiel dafür?
Kann mir nicht vorstellen wie sich das von selbst dort hinein laden soll^^ |
@ipulf2,
Du solltest Dich mal in Objekt-orientiere Programmierung einlesen. C# ist z.B. eine Objekt-orientiere Programmiersprache, und der Sinn solcher Sprache ist es, eben objekt-orientiert zu programmieren. Das was Du machst ist prozedurale Programmierung. Die Vorteile der OOP können so also nicht zur Geltung kommen. Würdst Du nach OOP-Kritieren programmieren, dann würdest Du Dein Icon als Objekt beschreiben mit den entsprechenden Membern (image, shortcut). Dann fügst Du noch Attribute (Annotations!) hinzu, die beschreiben, wie das Objekt in XML serialisiert werden soll. Damit brauchst Du KEINE EINZIGE Zeile programmieren, weil Du eben die OOP-Vorteile verwendest. (Btw... Du solltest Dich schon selbst fragen, wieso Du eine OO-Programmiersprache verwendst, aber prozedural programmierst...!!!) |
Schau mal hier vorbei: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Über deine Klasse und Members kannst du Attributes einfügen, die teilen dem XMLSerializer mit wie er die Klasse (genauer gesagt Objekte davon) (de)serialisieren soll. Du musst nur mehr den XMLSerializer aufrufen: Code:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.