C# yt:统计数据可以';在youtube订阅源中找不到

C# yt:统计数据可以';在youtube订阅源中找不到,c#,xml,wpf,youtube,youtube-api,C#,Xml,Wpf,Youtube,Youtube Api,我一直在尝试使用此工具从youtube检索一些视频,事情进展顺利,直到我添加上载日期筛选器时,XML文件在条目中不包含yt:statistics标记。除此之外,当我添加其他过滤器(如Order by)时,似乎没有问题 我在WebClient中使用的Uri如下: https://gdata.youtube.com/feeds/api/videos?q=example&time=today&max-results=20&v=2 那么,有哪一点是我犯的错误呢 多谢各位 编辑:

我一直在尝试使用此工具从youtube检索一些视频,事情进展顺利,直到我添加上载日期筛选器时,
XML
文件在
条目中不包含
yt:statistics
标记。除此之外,当我添加其他过滤器(如Order by)时,似乎没有问题

我在WebClient中使用的Uri如下:

https://gdata.youtube.com/feeds/api/videos?q=example&time=today&max-results=20&v=2
那么,有哪一点是我犯的错误呢

多谢各位

编辑:

放置一些断点后,
XML
似乎确实包含它,但问题在于我使用的代码:

        XElement downloadedXml = XElement.Parse(xml);

        //extract entries from the xml
        var entries = downloadedXml.Descendants().Where(c => c.Name.LocalName == "entry");


        foreach (var entry in entries)
        { 
            string views = "";


            //extract the number of views
            views = entry.Descendants().Where(c => c.Name.LocalName == "statistics").First().Attribute("viewCount").Value;


        }
似乎
条目
不包含
yt:statistics


知道问题出在哪里吗?

奇怪。这似乎对我有用:)


您是对的,xml似乎确实包含它,我将编辑我的post@User-_-你还想要什么?我发布了一个答案来获取
yt:statistics
@User-\的所有属性,因为所有条目都不包含
yt:statistics
。只有一些。因此,您的代码在
entry.subjects()中抛出异常。其中(c=>c.Name.LocalName==“statistics”)。首先()
查看代码中的Where条件。
var xDoc = XDocument.Load("https://gdata.youtube.com/feeds/api/videos?q=example&time=today&max-results=20&v=2");

XNamespace ns = "http://www.w3.org/2005/Atom";
XNamespace yt = "http://gdata.youtube.com/schemas/2007";
var result = xDoc.Descendants(ns + "entry")
                    .Where(e => e.Element(yt + "statistics")!=null)
                    .Select(e => e.Element(yt + "statistics")
                                .Attributes()
                                .ToDictionary(a => a.Name, a => a.Value))

                 .ToList();