zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    C++中的string和stringstream用法1
    回调函数简析
    Qt界面设计更新
    C/C++中的类型转换
    桥接模式 bridge pattern
    装饰者模式
    适配器模式
    代理模型
    工厂类---抽象工厂(3)
    [效率神技]Intellij 的快捷键和效率技巧|系列一|常用快捷键
  • 原文地址:https://www.cnblogs.com/tangself/p/1622848.html
Copyright © 2011-2022 走看看