【问题标题】:Getting multiply results via linq通过 linq 获得乘法结果
【发布时间】:2013-11-17 14:35:19
【问题描述】:

我的 linq 有问题,我想从 youtube xml 获得乘法结果,但是这段代码只给了我一个结果,有人知道如何解决这个问题吗?

key = @"http://gdata.youtube.com/feeds/api/videos?q="+keys+@"&orderby=relevance";
var youtube = XDocument.Load(key);
var urls = (from item in youtube.Elements("{http://www.w3.org/2005/Atom}feed")
                select new
                {
                    soundName = item.Element("{http://www.w3.org/2005/Atom}entry").Element("{http://www.w3.org/2005/Atom}title").ToString(),
                    url = item.Element("{http://www.w3.org/2005/Atom}entry").Element("{http://www.w3.org/2005/Atom}id").ToString(),
                });

YouTube xml: http://gdata.youtube.com/feeds/api/videos?q=keyword&orderby=relevance

感谢您的帮助!

【问题讨论】:

    标签: c# linq youtube


    【解决方案1】:
        var urls = (from item in youtube.Element("{http://www.w3.org/2005/Atom}feed").Descendants("{http://www.w3.org/2005/Atom}entry")
                    select new
                    {
                        soundName = item.Element("{http://www.w3.org/2005/Atom}title").ToString(),
                        url = item.Element("{http://www.w3.org/2005/Atom}id").ToString(),
                    });
    

    【讨论】:

      【解决方案2】:

      您需要获取每个 entry 元素(可能有更简洁的写法:

      var test = (from item in youtube.Elements("{http://www.w3.org/2005/Atom}feed")
                  from entries in item.Elements("{http://www.w3.org/2005/Atom}entry")
                      select new
                      {
                          soundName = entries.Element("{http://www.w3.org/2005/Atom}title").ToString(),
                          url = entries.Element("{http://www.w3.org/2005/Atom}id").ToString(),
                      });
      

      应该给你所有你想要的条目。

      编辑:Max 的回答更简洁 =D

      【讨论】:

        【解决方案3】:
                XNamespace ytNs = "http://www.w3.org/2005/Atom";
                var youtube = XDocument.Load(key);
                var urls = (from item in youtube.Elements(ytNs + "feed").Elements(ytNs + "entry")
                            select new
                                {
                                    soundName = item.Element(ytNs + "title").ToString(),
                                    url = item.Element(ytNs + "id").ToString(),
                                });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多