2013-10-14 107 views
0

我有一個代碼,其中將數據集值保存爲xml。數據集中的值來自Excel工作表(.xls格式)。我的問題是,如果一個值爲空或爲空,它將忽略它,但我希望它應該關閉它的標記,例如<test></test></test>保存包括空白值的XML

我的代碼是

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"); 
+0

將成員的IsNullable屬性設置爲true – HimBromBeere

+0

@ HimBromBeere:in ds.WriteXml(「C:\\ Development \\ MyAppln \\ ExcelToXML \\ Products.xml」);我使用IsNullable屬性? – NoviceToProgramming

+0

可能的重複:http://stackoverflow.com/questions/254821/xmlserializer-serialize-empty-variable-to-use-both-tags – orel

回答

0

您序列化的數據集。對於數據集,您無法控制生成的XML。

如果您使用自己的具有所有字段屬性的類,則可以使用System.Xml.Serialization namespace中的屬性來控制序列化。

+0

有沒有辦法可以在我現有的代碼中使用? – NoviceToProgramming