Google APIのGData「イベント」オブジェクトをデータブルに保存しています(オブジェクトとしてキャストする必要がありました。そうしないと、イベントにアクセスできませんでした)。イベントのすべてのプロパティに完全にアクセスして、 Googleを更新するためにそれらを使用しますが、次の理由により、データテーブル(または親データセット)をファイルにシリアル化できません。
タイプ「Google.GData.Calendar.EventEntry、Google.GData.Calendar、Version = 1.4.0.2、Culture = neutral、PublicKeyToken = aa6748391206b888」はIXmlSerializableインターフェースを実装していないため、シリアル化を続行できません。
これは、単純にXMLまたはバイナリとしてシリアル化しようとしても発生しますが、問題を回避する方法を見つけることができません。何らかの方法でデータ構造をファイルに保存することはできませんか?
コンテキストを設定するために、私は元々GData EventFeedをXMLとして保存していましたが、Google APIのmyEventFeed.saveToXMLを使用して理解するのに約30秒かかり、後でリロードするだけだと思っていました...xmlの取得に2日を費やしましたEventFeedオブジェクトに戻り、代わりにEventFeedからデータテーブルにEventEntryを保存するように切り替えました。
そのため、フィードをXML 1.0に簡単に保存できましたが、GData EventFeedに読み戻すのは別の話でした-GoogleはmyFeed.saveToXMLを提供しますが、loadfromXMLメソッドは提供しません:-/したがって、System.Runtime.Serializationを追加しようとしました。次のようなものを使用するには:
Dim reader As XmlReader = XmlReader.Create(fileName)Dim rssFeed As SyndicationFeed = SyndicationFeed.Load(reader)
これは最初は有望に見えましたが、データがすべてrssFeedにあるわけではありません。さらに、必要なメソッドを呼び出す前に、データをGoogle.GData.Calendar.EventFeedに戻す必要があります。どちらかを行う方法を理解します。rssFeedから新しいEventEntryにデータの最も重要なビットをコピーするか、重要なデータを抽出することでデータテーブルで同じことを行うことができると思います...しかし、それは非常にエレガントではなく、将来的には危険です。
私が今どちらの方向に向けるべきかという考えはありますか?私は間違った木を吠えていますか?
ありがとう、ニール
VB .NET 3.5 VS 2008