我使用一个XSD文件创建了一个C#类文件。我的其中一个属性如下:
private System.DateTime timeField;
[System.Xml.Serialization.XmlElementAttribute(DataType="time")]
public System.DateTime Time {
get {
return this.timeField;
}
set {
this.timeField = value;
}
}
当序列化时,文件的内容现在看起来像这样:
<Time>14:04:02.1661975+02:00</Time>
使用属性上的XmlAttributes,是否可以使其呈现为没有毫秒和GMT值的形式,例如这样?
<Time>14:04:02</Time>
这是否可行,还是我需要在类序列化后通过某种xsl / xpath替换魔法来进行处理?
把对象转换为字符串不是解决方案,因为它在应用程序的其余部分中像DateTime一样使用,并允许我们通过使用XmlSerializer.Serialize()方法从对象创建xml表示。
我需要从字段中删除额外信息的原因是接收系统不符合时间数据类型的w3c标准。