XSDファイルを入力として使用してC#クラスファイルを作成しました。私のプロパティの1つは次のようになります。
private System.DateTime timeField;
[System.Xml.Serialization.XmlElementAttribute(DataType="time")]
public System.DateTime Time {
get {
return this.timeField;
}
set {
this.timeField = value;
}
}
シリアル化すると、ファイルの内容は次のようになります。
<Time>14:04:02.1661975+02:00</Time>
プロパティにXmlAttributesを使用して、ミリ秒とGMT値なしでこのようにレンダリングすることは可能ですか?
<Time>14:04:02</Time>
これは可能ですか、それともクラスがシリアル化された後、ある種のxsl / xpath-replace-magicを一緒にハックする必要がありますか?
オブジェクトをStringに変更するソリューションではありません。これは、アプリケーションの残りの部分でDateTimeのように使用され、XmlSerializer.Serialize()メソッドを使用してオブジェクトからxml表現を作成できるためです。
フィールドから余分な情報を削除する必要がある理由は、受信システムが時間データ型のw3c標準に準拠していないためです。