保存XML包括空值

时间:2013-10-14 08:23:28

标签: c# xml

我有一个代码,其中将数据集值保存到xml。数据集中的值来自Excel工作表(.xls格式)。我的问题是,如果某个值为空或为null,则会忽略它,但我希望它应该关闭它的标记,例如<test></test></test>

我的代码是

daAdapter = new OleDbDataAdapter("Select * FROM [KDC Report$]", connection);
System.Data.DataTable dt = new System.Data.DataTable("Assets");
daAdapter.Fill(dt);
DataSet ds = new DataSet("DocumentElement");
ds.Tables.Add(dt);
var memoryStream = new MemoryStream();

using (TextWriter streamWriter = new StreamWriter(memoryStream))
{
    var xmlSerializer = new XmlSerializer(typeof(DataSet));
    xmlSerializer.Serialize(streamWriter, ds);
    Encoding.UTF8.GetString(memoryStream.ToArray());
}

ds.WriteXml("C:\\Development\\MyAppln\\ExcelToXML\\Products.xml");

1 个答案:

答案 0 :(得分:0)

您正在序列化DataSet。使用数据集,您无法控制生成的XML。

如果您使用自己的类以及所有字段的属性,则可以使用System.Xml.Serialization namespace中的属性来控制序列化。