65.9K
CodeProject is changing. Read more.
Home

Using Extension Methods To Avoid XML Problems

starIconstarIconstarIconstarIconstarIcon

5.00/5 (4 votes)

Apr 26, 2010

CPOL
viewsIcon

8553

I will just make it a little more compact by omitting the Contains method:public static string GetValue(this XElement root, string name, string defaultValue) { return (string)root.Elements(name).FirstOrDefault() ?? defaultValue; }The explicit operators for XElement...

I will just make it a little more compact by omitting the Contains method:
public static string GetValue(this XElement root, string name, string defaultValue)
    {
        return (string)root.Elements(name).FirstOrDefault() ?? defaultValue;
    }
The explicit operators for XElement and XAttribute are pretty handy. This works for SilverLight too (you need to add an assembly reference to System.Core) ---------- FROM JSOP: I already have that rfeerence, and FirstOrDefault still isn't available. FROM VRK: Did you forget adding using System.Linq; to your namespace imports? FROM JSOP: I got around to playing with the code again, and you're right, I didn't the using System.Linq; in there. I voted your message a 5 because it improved the code, but I didn't mark it as accept alternate, because technically, you didn't change the base aspect of the tip which was to extend the functionality via an extension method to avoid the inevitable exception, and I actually use the Contains method without the GetValue method. However, it was a good optimization. :)