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:
<code> private System.DateTime timeField; [System.Xml.Serialization.XmlElementAttribute(DataType="time")] public System.DateTime Time { get { return this.timeField; } set { this.timeField = value; } } </code>
Quando serializado, o conteúdo do arquivo agora se parece com isto:
<code><Time>14:04:02.1661975+02:00</Time> </code>
É possível, com XmlAttributes na propriedade, processá-lo sem os milissegundos e o valor GMT como este?
<code><Time>14:04:02</Time> </code>
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.