Ein Objekt in XML serialisieren
Ich habe eine C#-Klasse, die ich geerbt habe. Ich habe erfolgreich "gebaut" das Objekt. Aber ich muss das Objekt in XML serialisieren. Gibt es eine einfache Möglichkeit, dies zu tun?
Es sieht so aus, als ob die Klasse für die Serialisierung eingerichtet wurde, aber ich bin mir nicht sicher, wie ich die XML-Darstellung erhalten kann. Meine Klassendefinition sieht wie folgt aus:
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.domain.com/test")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.domain.com/test", IsNullable = false)]
public partial class MyObject
{
...
}
Hier ist, was ich dachte, ich könnte tun, aber es funktioniert nicht:
MyObject o = new MyObject();
// Set o properties
string xml = o.ToString();
Wie bekomme ich die XML-Darstellung dieses Objekts?
262
3
Für die XML-Serialisierung müssen Sie XmlSerializer verwenden. Unten finden Sie ein Beispiel-Snippet.
Um ein Objekt zu serialisieren, tun Sie dies:
Denken Sie auch daran, dass Sie einen parameterlosen Konstruktor benötigen, damit XmlSerializer funktioniert.
Hier finden Sie eine gute Anleitung, wie man das macht
Grundsätzlich sollten Sie dazu die Klasse
System.Xml.Serialization.XmlSerializer
verwenden.