Home > DeveloperSection > Forums > Reading XML using XDocument & Linq
Royce Roy
Royce Roy

Total Post:134

Points:938
Posted on    August-27-2014 2:04 AM

 ASP.Net
Ratings:


 1 Reply(s)
 765  View(s)
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?



Sumit Kesarwani

Total Post:378

Points:2694
Posted on    August-27-2014 11:23 PM

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")                  

        };


Don't want to miss updates? Please click the below button!

Follow MindStick