He creado un archivo de clase C# utilizando un archivo XSD como entrada. Una de mis propiedades tener este aspecto:serialización DateTime al tiempo sin milisegundos y gmt
private System.DateTime timeField;
[System.Xml.Serialization.XmlElementAttribute(DataType="time")]
public System.DateTime Time {
get {
return this.timeField;
}
set {
this.timeField = value;
}
}
Cuando serializado, el contenido del archivo ahora se ve así:
<Time>14:04:02.1661975+02:00</Time>
¿Es posible, con XmlAttributes en la propiedad, para que se deje sin los milisegundos y el valor GMT de esta manera?
<Time>14:04:02</Time>
Es esto posible, o tengo que cortar juntos algún tipo de XSL/XPath-reemplazar-magia después de la clase ha sido serializado?
No es una solución para cambiar el objeto a Cadena, porque se utiliza como un DateTime en el resto de la aplicación y nos permite crear una representación xml de un objeto utilizando el método XmlSerializer.Serialize() .
La razón por la que necesito eliminar la información adicional del campo es porque el sistema receptor no cumple con los estándares w3c para el tipo de datos de tiempo.
Mira http://stackoverflow.com/questions/3534525/force-xmlserializer-to-serialize-datetime-as-yyyy-mm-dd-hhmmss – TNT