任意のタイムゾーンのDateTimesを取得するために作業しています。DateTimeOffset、文字列、およびXmlElement属性を使用しています。これを行うと、次のエラーが発生します。
[InvalidOperationException:'dateTime'はXmlElementAttribute.DataTypeプロパティの無効な値です。dateTimeをSystem.Stringに変換できません。]
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model、String ns、ImportContext context、String dataType、XmlAttributes a、Boolean repeats、Boolean openModel、RecursionLimiter limiter)+450[InvalidOperationException:タイプ'System.String'を反映するエラーがありました。]
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model、String ns、ImportContext context、String dataType、XmlAttributes a、Boolean repeats、Boolean openModel、RecursionLimiter limiter) +1621
System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor、FieldModel model、XmlAttributes a、String ns、Type choiceIdentifierType、Boolean rpc、Boolean openModel、RecursionLimiter limiter)+8750
System.Xml.Serialization.XmlReflectionImporter.ImportFieldMapping( 、FieldModelモデル、XmlAttributes a、String ns、RecursionLimiterリミッター)+139
System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMappingマッピング、StructModelモデル、ブール型openModel、String typeName、RecursionLimiterリミッター)+1273[InvalidOperationException:プロパティ'creationTimeX'を反映するエラーが発生しました。]..。
コード:
[System.Xml.Serialization.XmlElement(ElementName = "creationTime",
DataType="dateTime")]
public string creationTimeX
{
get
{
return this.creationTimeField.ToString("yyyy-MM-ddTHH:mm:sszzz");
}
set
{
DateTimeOffset.TryParse(value, out this.creationTimeField);
}
}
[System.Xml.Serialization.XmlIgnoreAttribute()]
public System.DateTimeOffset creationTime
{
get {
return this.creationTimeField;
}
set {
this.creationTimeField = value;
}
}