xml序列化为带有空格的字符串

时间:2014-11-18 21:17:02

标签: c# xml

我有一些数据要在内存中序列化为XML字符串,保留空格。我试过这个:

    [Serializable]
    public class MyClass
    {
        public string NormalField {get; set;}
        public string WhitespaceField {get; set;}
    }

    string GetXml(List<MyClass> data)
    {
        string xml = "";

        XmlSerializer ser = new XmlSerializer(typeof(List<MyClass>));
        using (MemoryStream xmlStream = new MemoryStream())
        {
            ser.Serialize(xmlStream, data);
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.PreserveWhitespace = true;
            xmlStream.Position = 0;
            xmlDoc.Load(xmlStream);
            xml = xmlDoc.OuterXml;
        }

        return xml;
    }

    void Execute()
    {
        List<MyClass> list = new List<MyClass>();
        list.Add(new MyClass { NormalField = "a", WhitespaceField = "   456" });
        string xml = GetXml(list);
    }

但是不保留空格。特别是我的数据中的一个字段是一个带有前导空格的字符串,我想要保留它,但它并没有发生。 我做错了什么?

0 个答案:

没有答案