[quoted text, click to view] 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);
[quoted text, click to view] > 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/