我需要将.net对象序列化为XML。所以我想检索以下输出:
<?xml version="1.0" encoding="utf-8"?>
<ReSendRealisation>
<DateFrom>2012-12-15 03:00:00</DateFrom>
<DateTo>2012-12-15 23:59:59</DateTo>
<FolderPath></FolderPath>
</ReSendRealisation>
我对这些对象使用XmlSerializer
:
public class ReSendRealisation
{
public ReSendRealisation()
{
FolderPath = string.Empty;
}
public ReSendRealisation(DateTime from, DateTime to)
:this()
{
DateFrom = from.ToString("yyyy-MM-dd HH:mm:ss");
DateTo = to.ToString("yyyy-MM-dd HH:mm:ss");
}
public string DateFrom { get; set; }
public string DateTo { get; set; }
public string FolderPath { get; set; }
}
和
var serializer = new XmlSerializer(typeof(ReSendRealisation));
serializer.Serialize(stream, request);
,输出如下:
<?xml version="1.0"?>
<ReSendRealisation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DateFrom>2013-08-07 12:38:00</DateFrom>
<DateTo>2013-08-08 12:38:00</DateTo>
<FolderPath />
</ReSendRealisation>
因此,我们可以看到错过编码属性,并且存在多余的 xmlns:xsi 和 xmlns:xsd 属性。也 那么如何删除它们并添加遗漏的属性呢?