質問

XML シリアル化を介して読み込まれる既存のクラスに日付を追加しようとすると問題が発生し、期待どおりの動作が行われません。

SQL を使用して基本的なテストを実行しました (EffectiveFrom とEffectiveTo は次のように宣言されています) DATETIME)

SELECT  o.EffectiveFrom AS [@EffectiveFrom],
        o.EffectiveTo   AS [@EffectiveTo],
FROM    dbo.MyObject o
FOR XML PATH('MyObject'), ROOT('ArrayOfMyObject'), type

XML は次のようになります。

<ArrayOfMyObject>
  <MyObject EffectiveFrom="1977-11-23T00:00:00" EffectiveTo="2050-01-01T00:00:00" />
</ArrayOfMyObject>

次に、クラスを次のように宣言しました。

public class MyObject
{
    [XmlAttribute("EffectiveFrom")]
    public DateTime EffectiveFrom { get; set; }

    [XmlAttribute("EffectiveTo")]
    public DateTime EffectiveTo { get; set; }
}

ただし、プロパティは設定されていません。私は単に「濃い一日」を過ごしていて、まばゆいばかりの明白なことを見逃しているだけかもしれませんが、これが「うまくいく」ことを期待していました。なぜうまくいかないのか何か考えはありますか?

を呼び出す文字列プロパティを実際に作成する必要がありますか? Date.ParseExact() セット上で、そして ToString() 取得時に、XML シリアル化のフラグを立て、実際のプロパティにフラグを立てます。 XmlIgnore()?

役に立ちましたか?

解決 2

我々はSQL Server 2005の事前

を使用してのだとしてSQL Server 2008で、と "ちょうど仕事" に見えます

他のヒント

私は

の終了タグが表示されません
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top