READING XML USING XDOCUMENT & LINQ

Royce Roy

Total Post:149

Points:1043
Posted by  Royce Roy
 1059  View(s)
Ratings:
Rate this:

I'm using LINQ together with XDocument to read a XML File. This is the code:

XDocument xml = XDocument.Load(filename);

var q = from b in xml.Descendants("product")

        select new

        {

            name = b.Element("name").Value,

            price = b.Element("price").Value,                   

            extra = b.Element("extra1").Value,

            deeplink = b.Element("deepLink").Value                  

        };

Now the problem is, the extra1 field is not always present. There are items in the XML file without that node. If that happens it's crashing with a NullReferenceException.

Is there any possibility to include a "check if null" so I can prevent it from crashing?

  1. Sumit Kesarwani

    Post:378

    Points:2694
    Re: Reading XML using XDocument & Linq

    Hi Royce, 

    Use (string) instead of .Value:

    var q = from b in xml.Descendants("product")

            select new

            {

                name = (string)b.Element("name"),

                price = (double?)b.Element("price"),                   

                extra = (string)b.Element("extra1"),

                deeplink = (string)b.Element("deepLink")                  

            };

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!