Monday, December 14, 2009

LINQ to XML when the node doesn't exist

LINQ is a convenient tool to parse the XML. Here is a conditions
var posts = from item in xRss.Descendants("item")
                          select new
                          {
                                Title = item.Element("title").Value,
                                Date = item.Element("pubDate").Value,
                                Url = item.Element("link").Value
                           };
if "Title" does not exist, it would throw exception. There is a easy solution for it:
var posts = from item in xRss.Descendants("item")
                          select new
                          {
                                 Title = item.Element("title").Value,
                                 Date = item.Element("pubDate") == null ? string.Empty : item.Element("pubDate").Value,
                                 Url = item.Element("link").Value
                          }; 

No comments:

Post a Comment