我试图解析来自YouTube API的结果。我以字符串的形式正确地获取结果,但无法正确解析它。使用LINQ to XML在多个命名空间中处理XML
我在前面的主题上遵循了建议,但没有得到任何结果。
我的示例代码:
string response = youtubeService.GetSearchResults(search.Term, "published", 1, 50);
XDocument xDoc = XDocument.Parse(response, LoadOptions.SetLineInfo);
var list = xDoc.Descendants("entry").ToList();
var entries = from entry in xDoc.Descendants("entry")
select new
{
Id = entry.Element("id").Value,
Categories = entry.Elements("category").Select(c => c.Value)
//Published = entry.Element("published").Value,
//Title = entry.Element("title").Value,
//AuthorName = entry.Element("author").Element("name").Value,
//Thumnail = entry.Element("media:group").Elements("media:thumnail").ToList().ElementAt(0)
};
foreach (var entry in entries)
{
// entry.Id and entry.Categories available here
}
的问题是,项目具有计数0即使的XDocument显然具有有效值。
响应变量(示例XML)的值,可以在这里看到:http://snipt.org/lWm
(FYI:YouTube的模式是列在这里:http://code.google.com/apis/youtube/2.0/developers_guide_protocol_understanding_video_feeds.html)
谁能告诉我,我做错了什么这里?
你的第一个问题是没有发布一个失败的例子XML。由于你的第一个问题,我不知道你的第二个问题是什么。 – 2009-08-03 22:17:28
也许你的第二个问题是你没有在foreach循环中设置断点?你尝试过了,还是依赖于调试器? – 2009-08-03 22:19:01