예제 #1
0
        public static string ParseKenticoBlogResponse(HttpResponseMessage response)
        {
            // Reading XML
            XmlDocument xml = new XmlDocument();

            List <KBlog_Item> itemList = new List <KBlog_Item>();

            if (response.IsSuccessStatusCode)
            {
                // If successful response then parse XML
                xml.LoadXml(response.Content.ReadAsStringAsync().Result);

                // Extract XML Element Types
                XmlNodeList items = xml.SelectNodes("/rss/channel/item");

                // Load data into XML items first
                foreach (XmlNode item in items)
                {
                    KBlog_Item temp = new KBlog_Item();

                    foreach (XmlElement element in item)
                    {
                        // Determine XML Element Type
                        switch (element.Name)
                        {
                        case "title":
                            temp.title = element.InnerText;
                            break;

                        case "link":
                            temp.link = element.InnerText;
                            break;

                        case "pubDate":
                            temp.pubDate = ConvertToShortDate(element.InnerText);
                            break;

                        case "description":
                            temp.description = element.InnerText;
                            break;

                        default:
                            temp.other += (";" + element.Name);
                            break;
                        }
                    }

                    itemList.Add(temp);
                }
            }
            else
            {
                // If unsuccessful response then output the Error
                return("Error: {0} ({1})" + (int)response.StatusCode + response.ReasonPhrase);
            }

            return(ResponseFormatter.KBlog_FormatResponse(itemList));
        }
예제 #2
0
        public static string ParseGoogleDevsBlogResponse(HttpResponseMessage response)
        {
            // Reading XML
            XmlDocument xml = new XmlDocument();

            List <GDBlog_Item> itemList = new List <GDBlog_Item>();

            if (response.IsSuccessStatusCode)
            {
                // If successful response then parse XML
                xml.LoadXml(response.Content.ReadAsStringAsync().Result);

                // Extract XML Element Types
                XmlNodeList items = xml.ChildNodes;

                // Load data into XML items first
                foreach (XmlNode item in items[3])
                {
                    GDBlog_Item temp = new GDBlog_Item();

                    if (item.Name == "entry")
                    {
                        foreach (XmlElement element in item)
                        {
                            // Determine XML Element Type
                            switch (element.Name)
                            {
                            case "title":
                                temp.title = element.InnerText;
                                break;

                            case "published":
                                temp.published = ConvertToShortDate(element.InnerText);
                                break;

                            case "updated":
                                temp.updated = ConvertToShortDate(element.InnerText);
                                break;

                            case "author":
                                temp.author = element.FirstChild.InnerText;
                                break;

                            case "category":
                                temp.category = element.InnerText;
                                break;

                            case "content":
                                temp.content = element.InnerText;
                                break;

                            case "feedburner:origLink":
                                temp.link = element.InnerText;
                                break;

                            // For picking out Elements I have missed through parsing
                            default:
                                temp.other += (";" + element.Name);
                                break;
                            }
                        }

                        itemList.Add(temp);
                    }
                }
            }
            else
            {
                // If unsuccessful response then output the Error
                return("Error: {0} ({1})" + (int)response.StatusCode + response.ReasonPhrase);
            }

            return(ResponseFormatter.GDBlog_FormatResponse(itemList));
        }