Kristian Kjems wrote:
This is the example from MSDN where an object is serialized to a
filestream:
MySerializableClass myObject = new MySerializableClass();
// Insert code to set properties and fields of the object.
XmlSerializer mySerializer = new
XmlSerializer(typeof(MySerializableClass));
// To write to a file, create a StreamWriter object.
StreamWriter myWriter = new StreamWriter("myFileName.xml");
mySerializer.Serialize(myWriter, 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(typeof(Person));
StringWriter stringWriter = new StringWriter();
xmlSerializer.Serialize(stringWriter, p1);
string serializedXML = stringWriter.ToString();
Console.WriteLine(serializedXML);
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(typeof(Person));
MemoryStream memStream = new MemoryStream();
StreamWriter streamWriter = new StreamWriter(memStream);
xmlSerializer.Serialize(streamWriter, p1);
memStream.Position = 0;
StreamReader streamReader = new StreamReader(memStream);
XmlDocument serializedXML = new XmlDocument();
serializedXML.Load(streamReader);
Console.WriteLine(serializedXML.OuterXml);
--
Martin Honnen
http://JavaScript.FAQTs.com/