Kristian Kjems wrote:
This is the example from MSDN where an object is serialized to a
filestream:
MySerializableC lass myObject = new MySerializableC lass();
// Insert code to set properties and fields of the object.
XmlSerializer mySerializer = new
XmlSerializer(t ypeof(MySeriali zableClass));
// To write to a file, create a StreamWriter object.
StreamWriter myWriter = new StreamWriter("m yFileName.xml") ;
mySerializer.Se rialize(myWrite r, myObject);
How do I make a similar code that would give me a string
You should be able to serialize to a StringWriter instead of a StreamWriter:
Person p1 = new Person();
p1.Name = "Kibo";
XmlSerializer xmlSerializer = new XmlSerializer(t ypeof(Person));
StringWriter stringWriter = new StringWriter();
xmlSerializer.S erialize(string Writer, p1);
string serializedXML = stringWriter.To String();
Console.WriteLi ne(serializedXM L);
or an XML
Document that contains the XML-serialized object?
That should work too by serializing to a memory stream and loading the
XmlDocument from that:
Person p1 = new Person();
p1.Name = "Kibo";
XmlSerializer xmlSerializer = new XmlSerializer(t ypeof(Person));
MemoryStream memStream = new MemoryStream();
StreamWriter streamWriter = new StreamWriter(me mStream);
xmlSerializer.S erialize(stream Writer, p1);
memStream.Posit ion = 0;
StreamReader streamReader = new StreamReader(me mStream);
XmlDocument serializedXML = new XmlDocument();
serializedXML.L oad(streamReade r);
Console.WriteLi ne(serializedXM L.OuterXml);
--
Martin Honnen
http://JavaScript.FAQTs.com/