0

我有一个代码,其中将数据集值保存到 xml。数据集中的值来自 Excel 工作表(.xls 格式)。我的问题是,如果一个值为空白或 null,它会忽略它,但我希望它应该关闭它的标签,例如<test></test>or </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");
4

1 回答 1

0

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

如果您将自己的类与所有字段的属性一起使用,则可以使用System.Xml.Serialization 命名空间中的属性来控制序列化。

于 2013-10-14T11:18:11.440 回答