XML C#

using System;
using System.Xml;
public class XmlUtil
{
    #region GetAttrib(XmlNode node, string attrib, string defVal)
    public static string GetAttrib(XmlNode node, string attrib, string defVal)
    {
        XmlAttribute xmlAttrib = node.Attributes[attrib];
        if (xmlAttrib == null)
            return defVal;
        string val = xmlAttrib.Value;
        return (val == null) ? defVal : val;
    }
    #endregion
    #region GetBoolAttrib(XmlNode node, string attrib, bool defVal)
    public static bool GetBoolAttrib(XmlNode node, string attrib, bool defVal)
    {
        XmlAttribute xmlAttrib = node.Attributes[attrib];
        if (xmlAttrib == null)
            return defVal;
        string val = xmlAttrib.Value;
        if (val == null || val == string.Empty)
            return defVal;
        bool returnVal = (val == "1" || val.ToLower() == "true");
        return returnVal;
    }
    #endregion
    #region GetBoolAttribOrThrow(XmlNode node, string attrib)
    public static bool GetBoolAttribOrThrow(XmlNode node, string attrib)
    {
        string val = GetAttrib(node, attrib, null);
        if (val == null)
            throw new Exception(String.Format("Attribute '{0}' not specified in node '{1}'", attrib, node.Name));
        if (val == null || val == string.Empty)
            return false;
        bool returnVal = (val == "1" || val.ToLower() == "true");
        return returnVal;
    }
    #endregion
    #region GetIntAttrib(XmlNode node, string attrib, int defVal)
    public static int GetIntAttrib(XmlNode node, string attrib, int defVal)
    {
        XmlAttribute xmlAttrib = node.Attributes[attrib];
        if (xmlAttrib == null)
            return defVal;
        string val = xmlAttrib.Value;
        if (val == null || val == string.Empty)
            return defVal;
        int returnVal = defVal;
        int.TryParse(val, out returnVal);
        return returnVal;
    }
    #endregion
    #region GetIntAttribOrThrow(XmlNode node, string attrib)
    public static int GetIntAttribOrThrow(XmlNode node, string attrib)
    {
        string val = GetAttrib(node, attrib, null);
        if (val == null)
            throw new Exception(String.Format("Attribute '{0}' not specified in node '{1}'", attrib, node.Name));
        if (val == null || val == string.Empty)
            return 0;
        int returnVal = 0;
        int.TryParse(val, out returnVal);
        return returnVal;
    }
    #endregion
    #region GetInt64Attrib(XmlNode node, string attrib, Int64 defVal)
    public static Int64 GetInt64Attrib(XmlNode node, string attrib, Int64 defVal)
    {
        XmlAttribute xmlAttrib = node.Attributes[attrib];
        if (xmlAttrib == null)
            return defVal;
        string val = xmlAttrib.Value;
        if (val == null || val == string.Empty)
            return defVal;
        Int64 returnVal = defVal;
        Int64.TryParse(val, out returnVal);
        return returnVal;
    }
    #endregion
    #region GetInt64AttribOrThrow(XmlNode node, string attrib)
    public static Int64 GetInt64AttribOrThrow(XmlNode node, string attrib)
    {
        string val = GetAttrib(node, attrib, null);
        if (val == null)
            throw new Exception(String.Format("Attribute '{0}' not specified in node '{1}'", attrib, node.Name));
        if (val == null || val == string.Empty)
            return 0;
        Int64 returnVal = 0;
        Int64.TryParse(val, out returnVal);
        return returnVal;
    }
    #endregion
}