获取linq到xml后代具有特定属性值的元素

时间:2011-04-01 14:23:53

标签: c# twitter linq-to-xml

twitter atom feed我试图使用linqToXml获取一些Feed数据:

atomFeed = XDocument.Load(feedUrl);  
var tweets = (from entry in atomFeed.Descendants("entry")
                         select new
                         {
                             Date = entry.Element("published").Value,
                             Title = entry.Element("title").Value,
                             Url = entry.Element("link").Value // with type="image/jpeg"
                         }
                        );

由于有两种链接类型(一种属性类型=“text / html”,一种类型=“image / jpeg”,它不起作用。我只需要与jpeg的链接,但没有线索如何仅从xml中提取该链接

1 个答案:

答案 0 :(得分:4)

如果只有一个链接类型为“image / jpeg”(它从样本中看起来那样):

Url = entry.Elements("link")
           .Single(x => (string)x.Attribute("type") == "image/jpeg")
           .Value;