dbobrowski
dbobrowski

Reputation: 846

XmlWriter.Create not creating object in stream

System.Runtime.Serialization.DataContractSerializer ser = new System.Runtime.Serialization.DataContractSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
XmlWriter xdw = XmlWriter.Create(ms);
ser.WriteObject(xdw, obj);

Length of ms is 0

Why?

Upvotes: 1

Views: 298

Answers (1)

ie.
ie.

Reputation: 6101

That works:

class Program
{
    static void Main(string[] args)
    {
        var obj = "bugaga!";
        System.Runtime.Serialization.DataContractSerializer ser = new System.Runtime.Serialization.DataContractSerializer(obj.GetType());
        MemoryStream ms = new MemoryStream();
        using (XmlWriter xdw = XmlWriter.Create(ms))
        {
            ser.WriteObject(xdw, obj);
        }
        Console.WriteLine(ms.Length);
    }
}

[update] or just do xdw.Flush(), as already noticed

Upvotes: 1

Related Questions