Seriëren van een object naar XML
Ik heb een C# klasse die ik geërfd heb. Ik heb met succes "built" het object. Maar ik moet het object serializeren naar XML. Is er een gemakkelijke manier om dit te doen?
Het lijkt erop dat de klasse is ingesteld voor serialisatie, maar ik'ben niet zeker hoe ik de XML representatie krijg. Mijn klasse definitie ziet er als volgt uit:
[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 is wat ik dacht te kunnen doen, maar het werkt niet:
MyObject o = new MyObject();
// Set o properties
string xml = o.ToString();
Hoe krijg ik de XML representatie van dit object?
262
3
Je moet XmlSerializer gebruiken voor XML serialisatie. Hieronder staat een voorbeeld.
Om een object te serialiseren, doe:
Denk er ook aan dat je een parameterloze constructor nodig hebt om XmlSerializer te laten werken.
Hier is een goede tutorial over hoe dit te doen
Je moet in principe
System.Xml.Serialization.XmlSerializer
klasse gebruiken om dit te doen.