While trying to answer another question, I serialized a C # object for an XML string. It was surprisingly difficult; this was the shortest piece of code I could come up with:
var yourList = new List<int>() { 1, 2, 3 }; var ms = new MemoryStream(); var xtw = new XmlTextWriter(ms, Encoding.UTF8); var xs = new XmlSerializer(yourList.GetType()); xs.Serialize(xtw, yourList); var encoding = new UTF8Encoding(); string xmlEncodedList = encoding.GetString(ms.GetBuffer());
The result is in order:
<?xml version="1.0" encoding="utf-8"?> <ArrayOfInt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <int>1</int> <int>2</int> <int>3</int> </ArrayOfInt>
But the fragment is more complex than I think. I can't believe what you need to know about coding and a MemoryStream for this simple task.
Is there a shorter way to serialize an object into an XML string?
c # xml xml-serialization
Andomar Nov 15 '09 at 19:26 2009-11-15 19:26
source share