Viac na
Serializácia objektu do XML
Mám triedu C#, ktorú som zdedil. Úspešne som "vytvoril" objekt. Potrebujem však tento objekt serializovať do XML. Existuje nejaký jednoduchý spôsob, ako to urobiť?
Vyzerá to tak, že trieda bola nastavená na serializáciu, ale nie'som si istý, ako získať reprezentáciu XML. Definícia mojej triedy vyzerá takto:
[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
{
...
}
Tu je to, čo som si myslel, že by som mohol urobiť, ale nefunguje to:
MyObject o = new MyObject();
// Set o properties
string xml = o.ToString();
Ako získam reprezentáciu XML tohto objektu?
262
3
Na serializáciu XML musíte použiť XmlSerializer. Nižšie je uvedená ukážka.
Ak chcete serializovať objekt, vykonajte:
Nezabudnite tiež, že na to, aby XmlSerializer fungoval, potrebujete konštruktor bez parametrov.
Tu je dobrý návod, ako to urobiť
V podstate by ste na to mali použiť triedu
System.Xml.Serialization.XmlSerializer
.