0

我试图从 youtube 播放列表中获取 youtube 视频的描述。

xml 播放列表如下所示:

<entry gd:etag="W/&quot;YhjhqeyM.&quot;">
  <title>My Title</title>
  <media:group>
    <media:description type="plain">My description</media:description>
  </media:group>
</entry>
.
.
.
...multiple entry elements

我正在遍历多个条目并获得如下标题:

var x = (from e in xmlFeed.Root.Elements().Where(n => n.Name.LocalName == "entry") select e);


     foreach (XElement element in x)
      {
          title = element.Elements().Where(n => n.Name.LocalName == "title").FirstOrDefault().Value;
          description = //??;
      }

我怎样才能得到上述格式的描述?

谢谢

4

3 回答 3

0
description = element.Descendants(XName.Get("description")).First().Value();
于 2012-07-20T10:37:20.027 回答
0
XDocument xDoc = XDocument.Load("https://gdata.youtube.com/feeds/api/playlists/63F0C78739B09958?v=2");
XNamespace media = XNamespace.Get("http://search.yahoo.com/mrss/");
var descs = xDoc.Descendants(media + "description")
    .Select(d => d.Value)
    .ToArray();
于 2012-07-20T13:25:15.703 回答
0

这样做,这取决于你如何在你的文档中加载。在这种情况下,我用HttpWebRequest/读过它:StreamReader

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(requestData("https://gdata.youtube.com/feeds/api/playlists/63F0C78739B09958?v=2"));

var node = doc.DocumentNode.Descendants("media:description").ToList();

foreach (var description in node)
{
     Response.Write(string.Format("Description: {0}\n",description.InnerText.ToString()));
}
于 2012-07-20T10:52:03.757 回答