Десериализация XML в Google Picasa API - продолжение - PullRequest
0 голосов
/ 08 октября 2011

Я пытаюсь написать класс для десериализации канала Picasa. До сих пор это было довольно хорошо, мне помогли начать ( здесь ), и я почти у цели. У меня сейчас проблема с двумя полями.

Gphoto: bytesUsed и gphoto: numphotos, остающиеся хотят десериализовать. Я не могу найти ничего плохого в этом. Спасибо за любые предложения.

URL для кормления: https://picasaweb.google.com/data/feed/api/user/{username}

Код класса:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace WindowsFormsApplication4
{
    [XmlType("feed", Namespace = "http://www.w3.org/2005/Atom")]
    [XmlRoot("feed", Namespace = "http://www.w3.org/2005/Atom")]
    public class picasa
    {
    [XmlAttribute]
    public string id { get; set; }

    [XmlAttribute]
    public string title { get; set; }

    [XmlAttribute]
    public string icon { get; set; }

    [XmlElement("link")]
    public FeedLink[] links { get; set; }

    [XmlElement("generator")]
    public FeedGenerator generator { get; set; }

    [XmlElement("author")]
    public FeedAuthor author { get; set; }

    [XmlElement(Namespace = "http://a9.com/-/spec/opensearch/1.1/")]
    public int totalResults { get; set; }

    [XmlElement("entry")]
    public FeedEntry[] entries { get; set; }

    [XmlType("entry", Namespace = "http://www.w3.org/2005/Atom")]
    public partial class FeedEntry
    {
        [XmlElement]
        public string id { get; set; }

        [XmlElement]
        public FeedCategory category { get; set; }

        [XmlElement]
        public string title { get; set; }

        [XmlElement]
        public string summary { get; set; }

        [XmlElement]
        public string rights { get; set; }

        [XmlElement("link")]
        public FeedLink[] links { get; set; }

        [XmlElement("author")]
        public FeedAuthor author { get; set; }

        [XmlElement(ElementName = "id", Namespace = "http://schemas.google.com/photos/2007")]
        public string gid { get; set; }

        [XmlElement(ElementName = "name", Namespace = "http://schemas.google.com/photos/2007")]
        public string gname { get; set; }

        [XmlElement(ElementName = "location", Namespace = "http://schemas.google.com/photos/2007")]
        public string glocation { get; set; }

        [XmlElement(ElementName = "access", Namespace = "http://schemas.google.com/photos/2007")]
        public string gaccess { get; set; }

        [XmlElement(ElementName = "timestamp", Namespace = "http://schemas.google.com/photos/2007")]
        public string gtimestamp { get; set; }

        [XmlElement(ElementName = "numphotos", Namespace = "http://schemas.google.com/photos/2007")]
        public int gnumphotos { get; set; }

        [XmlElement(ElementName = "numphotosremaining", Namespace = "http://schemas.google.com/photos/2007")]
        public int gnumphotosremaining { get; set; }

        [XmlElement(ElementName = "bytesUsed", Namespace = "http://schemas.google.com/photos/2007")]
        public int gbytesUsed { get; set; }

        [XmlElement(ElementName = "user", Namespace = "http://schemas.google.com/photos/2007")]
        public string guser { get; set; }

        [XmlElement(ElementName = "nickname", Namespace = "http://schemas.google.com/photos/2007")]
        public string gnickname { get; set; }

        [XmlElement(ElementName = "commentingEnabled", Namespace = "http://schemas.google.com/photos/2007")]
        public string gcommentingEnabled { get; set; }

        [XmlElement(ElementName = "commentCount", Namespace = "http://schemas.google.com/photos/2007")]
        public int gcommentCount { get; set; }

        [XmlElement(ElementName = "group", Namespace = "http://search.yahoo.com/mrss/")]
        public MediaGroup mgroup { get; set; }


    }

    #region XML types
    [XmlType("author", Namespace = "http://www.w3.org/2005/Atom")]
    public partial class FeedAuthor
    {
        [XmlElement(ElementName = "name", Namespace = "http://www.w3.org/2005/Atom")]
        public string name { get; set; }

        [XmlElement(ElementName = "uri", Namespace = "http://www.w3.org/2005/Atom")]
        public string uri { get; set; }
    }

    [XmlType("category", Namespace = "http://www.w3.org/2005/Atom")]
    public partial class FeedCategory
    {
        [XmlAttribute(AttributeName = "scheme", Namespace = "http://www.w3.org/2005/Atom")]
        public string scheme { get; set; }

        [XmlAttribute(AttributeName = "term", Namespace = "http://www.w3.org/2005/Atom")]
        public string term { get; set; }
    }

    [XmlType("link", Namespace = "http://www.w3.org/2005/Atom")]
    public partial class FeedLink
    {
        [XmlAttribute(AttributeName = "rel", Namespace = "http://www.w3.org/2005/Atom")]
        public string rel { get; set; }

        [XmlAttribute(AttributeName = "type", Namespace = "http://www.w3.org/2005/Atom")]
        public string type { get; set; }

        [XmlAttribute(AttributeName = "href", Namespace = "http://www.w3.org/2005/Atom")]
        public string href { get; set; }
    }

    [XmlType("generator", Namespace = "http://www.w3.org/2005/Atom")]
    public partial class FeedGenerator
    {
        [XmlAttribute(AttributeName = "version", Namespace = "http://www.w3.org/2005/Atom")]
        public string version { get; set; }

        [XmlAttribute(AttributeName = "uri", Namespace = "http://www.w3.org/2005/Atom")]
        public string uri { get; set; }

        [XmlText]
        public string text { get; set; }
    }

    [XmlType("group", Namespace = "http://search.yahoo.com/mrss/")]
    public partial class MediaGroup
    {
        [XmlElement(ElementName = "content", Namespace = "http://search.yahoo.com/mrss/")]
        public MediaContent mgcontent { get; set; }

        [XmlElement(ElementName = "credit", Namespace = "http://search.yahoo.com/mrss/")]
        public string mgcredit { get; set; }

        [XmlElement(ElementName = "description", Namespace = "http://search.yahoo.com/mrss/")]
        public MediaDescription mgdescription { get; set; }
    }

    [XmlType("content", Namespace = "http://search.yahoo.com/mrss/")]
    public partial class MediaContent
    {
        [XmlAttribute(AttributeName = "url", Namespace = "http://search.yahoo.com/mrss/")]
        public string url { get; set; }

        [XmlAttribute(AttributeName = "type", Namespace = "http://search.yahoo.com/mrss/")]
        public string type { get; set; }

        [XmlAttribute(AttributeName = "medium", Namespace = "http://search.yahoo.com/mrss/")]
        public string medium { get; set; }
    }

    [XmlType("description", Namespace = "http://search.yahoo.com/mrss/")]
    public partial class MediaDescription
    {
        [XmlAttribute("type", Namespace="http://search.yahoo.com/mrss/")]
        public string type {get;set;}

        [XmlText]
        public string description { get; set; }
    }
    #endregion
}

}

1 Ответ

0 голосов
/ 08 октября 2011

Ваше решение может быть значительно упрощено с использованием библиотеки .NET для Google Data API . Кроме того, вот вам руководство, которое может вас заинтересовать: Создание вашего первого приложения Picasa Web C # .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...