public static void Test()
    {
        DataContractSerializer dcs  = new DataContractSerializer(typeof(List <string>));
        MemoryStream           ms   = new MemoryStream();
        List <string>          list = new List <string> {
            "Hello", "", "world"
        };

        dcs.WriteObject(ms, list);
        Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
        Console.WriteLine();
        ms.SetLength(0);
        XmlWriter myWriter = new MyWriter(XmlDictionaryWriter.CreateTextWriter(ms));

        dcs.WriteObject(myWriter, list);
        myWriter.Flush();
        Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
    }