我使用 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-replace-magic 组合在一起?
这不是将对象更改为 String 的解决方案,因为它在应用程序的其余部分中用作 DateTime,并允许我们使用 XmlSerializer.Serialize() 方法从对象创建 xml 表示。
我需要从字段中删除额外信息的原因是接收系统不符合时间数据类型的 w3c 标准。