Serializando o DateTime para o tempo sem milissegundos e gmt
Eu criei um arquivo de classe c # usando um arquivo XSD como uma entrada. Uma das minhas propriedades é assim:
private System.DateTime timeField;
[System.Xml.Serialization.XmlElementAttribute(DataType="time")]
public System.DateTime Time {
get {
return this.timeField;
}
set {
this.timeField = value;
}
}
Quando serializado, o conteúdo do arquivo agora se parece com isto:
<Time>14:04:02.1661975+02:00</Time>
É possível, com XmlAttributes na propriedade, processá-lo sem os milissegundos e o valor GMT como este?
<Time>14:04:02</Time>
Isso é possível, ou eu preciso hackear algum tipo de xsl / xpath-replace-magic depois que a classe foi serializada?
Não é uma solução para alterar o objeto para String, porque ele é usado como um DateTime no resto do aplicativo e nos permite criar uma representação xml de um objeto usando o método XmlSerializer.Serialize ().
O motivo pelo qual preciso remover as informações extras do campo é que o sistema receptor não está em conformidade com os padrões w3c para o tipo de dados de hora.