I have an XML document which has been sent via a web service which I want to parse into an Object using Linq.
My goal is to parse the XML into a LIST of <Job> objects - each jobn has a list or <Patch> objects. My LINQ query is :-
var jobs = (from job in xDocument.Descendants("job")
select new Job()
ID = int.Parse(job.Attribute("id").Value),
Location = job.Attribute("address").Value,
Postcode = job.Attribute("postcode").Value,
Patches = (from patch in job.Descendants("patch")
select new Patch()
ID = int.Parse(patch.Attribute("id").Value),
Depth = decimal.Parse(patch.Attribute("d").Value),
This seemed to work perfectly until I realised that the 'Depth' fiield for a patch can be "" (an empty string. This causes the query to fall over as it tries to convert an empty string to a decimal.
Is it possible to add more intelligence to the query to check for this?