C#操作XML总结1

C#操作XML总结1

      网上很多C#操作XML的文章,但是都是东拼西凑,把简单的问题复杂化,不参考罢了。如若照搬硬套,不但达不到目标,反而浪费时间。原本以前做过操作XML的程序,但是忘了,所以今天下午就上网查了一下。真是让我伤心,网上的解决方法复杂且不太管用,搞得我很没面子。我今晚决定整理一下,供网友参考。
     主要使用 XmlDocument 和XmlNode,这两个类足够使用XML了,建议不要使用XmlElement类,因为XmlElement类要求自己定义XML的文档结构,这对一般的简单应用完全没必要,如不定义则没法使用。
      请看一个简单的例子:
      XML文档内容
       <?xml version="1.0" encoding="utf-8" ?>
      <SDEConfig>
      <SDEServer>APPL_GW_SERVER</SDEServer>
      <SDEUser>RelicImg</SDEUser>
      <SDEPassWord>gw2008</SDEPassWord>
      <SDEDatabase>GW</SDEDatabase>
      </SDEConfig>

     C#读取XML的源代码
      

      using System.Xml;

        #region 链接SDE信息 定义变量 
        //服务器
        private  string m_SDEServer = "";
        //用户
        private  string m_SDEUser = "";
        //密码
        private  string m_SDEPassWord = "";
        //数据库
        private  string m_SDEDatabase = "";

        #endregion

        /// <summary>
        /// 初始化SDE配置信息
        /// </summary>
        private void InitSDEConfiguration()
        {
            string outPut = string.Empty;
            try
            {
                string xmlpath = Application.StartupPath + "\\sdeconfig.xml";
                if (!System.IO.File.Exists(xmlpath))
                {
                    MessageBox.Show("SDE配置文件缺失!", "读取SDE配置信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                XmlDocument doc = new XmlDocument();
                doc.Load(xmlpath);

                XmlNode node = doc.SelectSingleNode("SDEConfig/SDEServer");
                this.m_SDEServer = node.InnerText;
                //用户
                this.m_SDEUser = doc.SelectSingleNode("SDEConfig/SDEUser").InnerText;
                //密码
                this.m_SDEPassWord = doc.SelectSingleNode("SDEConfig/SDEPassWord").InnerText;
                //数据库
                this.m_SDEDatabase = doc.SelectSingleNode("SDEConfig/SDEDatabase").InnerText;
            }
            catch (Exception ex)
            {
                MessageBox.Show("读取SDE配置信息失败!", "读取SDE配置信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }



      如果要读取属性信息<SDEServer Name="wm">APPL_GW_SERVER</SDEServer>
      可以
    XmlNode  xmlnode = doc.SelectSingleNode("SDEConfig/SDEServer");
      //
读取属性值
    string strAttributeName=  xmlnode.Attributes["Name"].Value.ToString();

posted @ 2009-12-13 08:05  tangself  阅读(195)  评论(0编辑  收藏  举报