將異常發佈到xml


  /// <summary>
  ///  寫錯誤信息到xml文檔
  /// </summary>
  /// <param name="p_strPath">
  /// xml文件名
  /// <code> 如:c:/Sample.xml</code>
  /// </param>
  /// <returns></returns>
  /// <remarks>MailToMe:[email protected]</remarks>
  /// Wreter:Nick
  /// Create Date;2004-12-06
  public bool ToXmlFile(string p_strPath)
  {
   bool bRtn = true;
   XmlDocument xmlDoc = new XmlDocument();

   #region "文件檢查"
   bool bFileExist = File.Exists(p_strPath);
   if (true != bFileExist)
   {
    try
    {
     StreamWriter sw = File.CreateText(p_strPath);
     sw.WriteLine("<ErrorList>");
     sw.WriteLine("</ErrorList>");
     sw.Close();
     bRtn = true;
    }
    catch(Exception ex)
    {
     m_strMessage = ex.Message.ToString();
     bRtn = false;
    }
   }
   #endregion

   #region "文件格式檢查"
   if (false != bRtn)
   {
    try
    {
     xmlDoc.Load(p_strPath);
     bRtn = true;
    }
    catch(Exception ex)
    {
     m_strMessage = ex.Message.ToString();
     bRtn = false;
    }
   }
   #endregion

   #region "錯誤信息寫入xml文檔"
   if (false != bRtn)
   {
    //root node
    XmlNode node = xmlDoc.CreateElement("Error");

    XmlAttribute xmlTime = xmlDoc.CreateAttribute("Time");
    xmlTime.Value = XmlConvert.DecodeName(DateTime.Now.ToString());
    node.Attributes.Append(xmlTime);   

    //寫詳細信息
    bRtn = XmlNodeAdd(xmlDoc,node,m_expGet);
    if (false != bRtn)
    {
     xmlDoc.ChildNodes[0].AppendChild(node);
     try
     {
      xmlDoc.Save(p_strPath);
      bRtn = true;
     }
     catch(Exception ex)
     {
      m_strMessage = ex.Message.ToString();
      bRtn = false;
     }
    }
   }
   #endregion

   if (false != bRtn)
    m_strMessage = "寫Xml文件成功!";

   return bRtn;
  }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章