Ich habe eine C# -Klassendatei erstellt, indem Sie eine XSD-Datei als Eingabe verwenden. Eine meiner Eigenschaften dieses wie folgt aussehen:Serialisierung DateTime zu Zeit ohne Millisekunden und gmt
private System.DateTime timeField;
[System.Xml.Serialization.XmlElementAttribute(DataType="time")]
public System.DateTime Time {
get {
return this.timeField;
}
set {
this.timeField = value;
}
}
Wenn serialisiert, wird der Inhalt der Datei sieht nun wie folgt aus:
<Time>14:04:02.1661975+02:00</Time>
Ist es möglich, mit XmlAttributes auf dem Grundstück, es zu haben, machen ohne die Millisekunden und der GMT-Wert so?
<Time>14:04:02</Time>
Ist dies möglich, oder muss ich zusammen eine Art von xsl/hacken XPath-ersetzen-Magie, nachdem die Klasse serialisiert wurde?
Es ist keine Lösung, das Objekt in String zu ändern, da es wie eine DateTime im Rest der Anwendung verwendet wird und es uns ermöglicht, mithilfe der XmlSerializer.Serialize() -Methode eine XML-Repräsentation aus einem Objekt zu erstellen .
Der Grund, warum ich die zusätzlichen Informationen aus dem Feld entfernen muss, ist, dass das empfangende System nicht den w3c-Standards für den Zeit-Datentyp entspricht.
Blick auf http://stackoverflow.com/questions/3534525/force-xmlserializer-to-serialize-datetime-as-yyyy-mm-dd-hhmmss – TNT