I have created a C# class file by using a XSD-file as an input. One of my properties look like this:
private System.DateTime timeField;
[System.Xml.Serialization.XmlElementAttribute(DataType="time")]
public System.DateTime Time {
get {
return this.timeField;
}
set {
this.timeField = value;
}
}
When serialized, the contents of the file now looks like this:
<Time>14:04:02.1661975+02:00</Time>
Is it possible, with XmlAttributes on the property, to have it render without the milliseconds and the GMT-value like this?
<Time>14:04:02</Time>
Is this possible, or do i need to hack together some sort of xsl/xpath-replace-magic after the class has been serialized?
It is not a solution to changing the object to String, because it is used like a DateTime in the rest of the application and allows us to create an xml-representation from an object by using the XmlSerializer.Serialize() method.
The reason I need to remove the extra info from the field is that the receiving system does not conform to the w3c-standards for the time datatype.
See Question&Answers more detail:os