Je stocke des objets "Event" GData de l'API Google dans un datable (Ok, je devais les transformer en objet ou ils ne voulaient pas entrer), et je peux accéder à toutes les propriétés des événements parfaitement, et les utiliser pour mettre à jour Google, mais je ne peux pas sérialiser la base de données (ou un jeu de données parent) dans le fichier car:Comment enregistrer une datatable si elle contient un objet qui refuse de sérialiser?
Type 'Google.GData.Calendar.EventEntry, Google.GData.Calendar, Version = 1.4.0.2, Culture = neutre, PublicKeyToken = aa6748391206b888 'n'implémente pas l'interface IXmlSerializable donc ne peut pas procéder à la sérialisation.
Cela se produit si j'essaie simplement de sérialiser en XML ou binaire, et je ne peux pas trouver un moyen de contourner le problème; une structure de données ne peut-elle pas être sauvegardée dans un fichier d'une manière ou d'une autre? Pour définir le contexte, je sauvegardais à l'origine le GData EventFeed en XML, ce qui m'a pris environ 30 secondes pour comprendre l'utilisation de myEventFeed.saveToXML de Google API, pensant que je le rechargerais plus tard ... J'ai passé deux jours à essayer pour récupérer le xml dans un objet EventFeed, et ont maintenant basculé à enregistrer EventEntry à partir du EventFeed à un datatable à la place.
J'ai donc réussi à enregistrer le flux au XML 1.0 facilement, mais le relire dans un GData EventFeed était une histoire différente - Google vous donne myFeed.saveToXML mais pas de méthode loadfromXML: -/Donc j'ai fini par essayer d'ajouter System .Runtime.Serialization à utiliser quelque chose comme:
lecteur Dim comme XmlReader = XmlReader.Create (fileName) Dim rssfeed comme SyndicationFeed = SyndicationFeed.Load (lecteur)
Ce semblait prometteur au début, mais l'ISN de données 't all in rssFeed, plus je dois encore récupérer les données dans un Google.GData.Calendar.EventFeed avant que je puisse appeler les méthodes dont j'ai besoin, et je n'arrive pas à comprendre comment faire ça. r. Je suppose que je pourrais juste copier les bits de données les plus importants du rssFeed dans de nouveaux EventEntry, ou faire la même chose avec le datatable en extrayant les données importantes ... mais cela va être si inélégant, et risqué sur toute la ligne.
Toutes les idées que je devrais tourner maintenant? Est-ce que j'aboie les mauvais arbres?
Merci, Neil
VB .NET 3.5 VS 2008
Tout d'abord, je vous suggère de modifier votre question pour supprimer tout l'historique. Concentrons-nous sur le problème que vous avez maintenant. –
Désolé, c'était vraiment le titre que j'aurais dû changer - "Puis-je sauvegarder/charger des flux GData en utilisant des données, ou puis-je utiliser AtomFeed?" – jazzwhistle