c#返回.xml到类

本文关键字:到类 xml 返回 | 更新日期: 2023-09-27 18:15:18

我试图从friendfeed API给出一个信息。

正如您在代码中看到的,我使用HttpRequest来获取信息。没关系。

在那之后,我正在用LINQ读取XML。

但是现在我创建了一个"feed"类,我想为每个返回值(I from finaltoclass)创建一个对象。

我该怎么做?

你能帮我一下吗?

谢谢。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
    class Program
    {
        class feed { }
        public class entry {
            string body;
            string id;
            string url;
            public entry(string a, string b, string c)
            {
                body = a;
                id = b;
                url = c;
            }
        }
        static void Main(string[] args)
        {
            string username = "semihmasat";
            WebRequest ffreq = WebRequest.Create("http://friendfeed-api.com/v2/feed/" + username + "?format=xml");
            WebResponse ffresp = ffreq.GetResponse();
            Console.WriteLine(((HttpWebResponse)ffresp).StatusDescription);
            Stream stream = ffresp.GetResponseStream();
            StreamReader reader = new StreamReader(stream);
            string respfinal = reader.ReadToEnd();
            reader.Close();
            XElement final = XElement.Load("http://friendfeed-api.com/v2/feed/" + username + "?format=xml");
            var finaltoclass = from i in final.Elements("entry")
                               select i;
            foreach (XElement i in finaltoclass) {
                string body= i.Element("body").Value;
                string id= i.Element("id").Value;
                string url= i.Element("url").Value;
                Console.WriteLine("{0},{1},{2}", body, id, url);
            }
            Console.ReadLine();
        }
    }
}

c#返回.xml到类

如果您认为这样阅读(动态提要类-不声明feed, entry, viafrom类):

dynamic feed = new Uri("http://friendfeed-api.com/v2/feed/" + username + "?format=json").GetDynamicJsonObject();
foreach (var entry in feed.entries)
{
    Console.WriteLine(entry.from.name + "> " +  entry.body + " " + entry.url);
}

需要Json。Net和这个扩展类

让我们试试这段代码

 var finaltoclass = from i in final.Elements("entry")
    select new entry (i.Element("body").Value, i.Element("id").Value, i.Element("url").Value );

您需要添加一个ObservableCollection的条目