将DataSet序列化为XDocument空白问题

时间:2014-08-12 16:57:48

标签: c# xml serialization dataset xml-serialization

此方法采用DataSet并将其序列化为XML。

private XDocument GetXDocumentFromDataSet(DataSet dataSet)
    {
        using (var memoryStream = new MemoryStream())
        {
            using (var xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8) {Formatting = Formatting.None})
            {
                dataSet.WriteXml(xmlTextWriter);
                memoryStream.Position = 0;
                var xmlReader = XmlReader.Create(memoryStream);
                xmlReader.MoveToContent();
                return XDocument.Load(xmlReader);
            }
        }
    }

问题是每个字符串字段都有尾随空格。

<a>
  <b>Hello               </b>
  <c>World               </c>
</a>

这几乎就像数据库中列的宽度用于用空格填充delta。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

使用NVARCHAR()代替CHAR()作为数据模型中的SQL数据类型。