Ich habe versucht, eine einfache Möglichkeit zum Schreiben von XML mit dem XmlReader/XmlWriter zu finden. Ich mag nicht wirklich die Schnittstelle "IXmlSerializable", aber ich habe keine Wahl für einige meiner Datenklasse.Wie schreibe/schreibe ich ein komplexes Objekt mit XmlWriter/XmlReader
Wie auch immer, was ich tun möchte, ist ganz einfach:
private MyClass myObject;
public void WriteXml(XmlWriter writer)
{
writer.WriteObject(myObject); // <-- this method doesn't exists
}
So fand ich 2 Arbeit um:
- meine eigene Routine schreibt mein Objekt manuell zu schreiben. Ziemlich lächerlich seit .Net macht es schon.
- Erstellen Sie einen neuen Serializer mit einem StringWriter und verwenden Sie die WriteValue (string) -Methode.
Ich habe die zweite noch nicht getestet, aber ich denke, es wird wahrscheinlich funktionieren (nicht sicher wegen des ReadValue-Ergebnisses).
Dann ist meine Frage: Vermisse ich etwas wichtiges oder ist es der einzige Weg? Oder gibt es einen besseren Weg, damit umzugehen?
Danke.
Haben Sie sich LINQ to XML angesehen? Das ist ein bisschen oder Arbeit, aber funktioniert ein Vergnügen. – Pieter
Ja, ich kenne die Idee, habe sie aber nie benutzt. Aber hier ist mein Problem, dass mein komplexes Objekt viele Unterobjekte hat und jedes XmlAttributes definiert. Also muss ich diese Attribute lesen. Ich möchte nur nicht blind Elemente schreiben. – Sauleil