Get Attribute and return Int64 or throw exception

image_pdfimage_print
   
 

//Microsoft Public License (Ms-PL)
//http://dbmlmanager.codeplex.com/license

#region using
using System;
using System.Xml;
#endregion

namespace DbmlManager.Lib.Utility
{
  #region Class Docs
  /// <summary>
  /// Summary description for XmlUtil.
  /// </summary>
  #endregion

  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 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 &#039;{0}&#039; not specified in node &#039;{1}&#039;", attrib, node.Name));

      if (val == null || val == string.Empty)
        return 0;

      Int64 returnVal = 0;
      Int64.TryParse(val, out returnVal);

      return returnVal;
    }
    #endregion
  }
}

   
     


This entry was posted in XML-RPC. Bookmark the permalink.