zoukankan      html  css  js  c++  java
  • C#对xml的操作

    xml的写操作:

    public void WriteXML(string FileName,string server,string IDServiceid,string name)
       {
        if (!File.Exists(FileName))
            {
                XmlTextWriter textWriter = new XmlTextWriter(FileName,null);
                textWriter.Formatting = Formatting.Indented;

                // 开始写过程,调用WriteStartDocument方法
                textWriter.WriteStartDocument();

                // 写入说明
                textWriter.WriteComment("First Comment XmlTextWriter Sample Example");
                textWriter.WriteComment("YtConfig.xml in root dir");

                //创建一个节点
                textWriter.WriteStartElement("Server");
                //textWriter.WriteElementString("MapServers","");
                //textWriter.WriteElementString("site", "w3sky.com");
                textWriter.WriteEndElement();

                // 写文档结束,调用WriteEndDocument方法
                textWriter.WriteEndDocument();

               // 关闭textWriter
               textWriter.Close();

            }  
            //初始化XML文档操作类
            XmlDocument myDoc = new XmlDocument();
            //加载XML文件
            myDoc.Load(FileName);

            //添加元素--UserCode
            XmlElement ele = myDoc.CreateElement("UserCode");
            XmlText text = myDoc.CreateTextNode(server);

            //添加元素--UserName
            XmlElement ele1 = myDoc.CreateElement("UserName");
            XmlText text1 = myDoc.CreateTextNode(IDServiceid);

            //添加元素--UserPwd
            XmlElement ele2 = myDoc.CreateElement("UserPwd");
            XmlText text2 = myDoc.CreateTextNode(name);

            //添加节点 User要对应我们xml文件中的节点名字
            XmlNode newElem = myDoc.CreateNode("element", "User", "");

            //在节点中添加元素
            newElem.AppendChild(ele);
            newElem.LastChild.AppendChild(text);
            newElem.AppendChild(ele1);
            newElem.LastChild.AppendChild(text1);
            newElem.AppendChild(ele2);
            newElem.LastChild.AppendChild(text2);
            XmlNode roots = myDoc.CreateNode("element", "MapServers", "");
            roots.AppendChild(newElem);

            //将节点添加到文档中
            XmlElement root = myDoc.DocumentElement;
            root.AppendChild(roots);

            //保存
            myDoc.Save(FileName);   
        }

    生成的xml为:

    <?xml version="1.0"?>
    <!--First Comment XmlTextWriter Sample Example-->
    <!--YtConfig.xml in root dir-->
    <Server>
      <MapServers>
        <User>
          <UserCode>
          </UserCode>
          <UserName>
          </UserName>
          <UserPwd>
          </UserPwd>
        </User>
      </MapServers>
    </Server>

    读操作:

    public string ReadXML(string path, string id) {
            string stat = null;
            string FileName = AppDomain.CurrentDomain.BaseDirectory;
            FileName += path + ".xml";
            string type = path + "s";
            if (File.Exists(FileName))
            {
                //初始化XML文档操作类
                XmlDocument myDoc = new XmlDocument();
                //加载XML文件
                myDoc.Load(FileName);
                if (myDoc.SelectSingleNode(type).ChildNodes.Count != 0)
                {
                    XmlNodeList nodeList = myDoc.SelectSingleNode(type).ChildNodes;
                    foreach (XmlNode xn in nodeList)
                    {
                        XmlElement xe = (XmlElement)xn;
                        if (xe.GetAttribute("IDServiceid") == id)
                        {
                            stat = "fail";
                            break;
                        }
                        else { stat = "ok"; }
                    }
                }
                else { stat = "ok"; }
            }
            else
            {
                return stat = "ok";
            }
            return stat;

        }

    删除节点操作:

    public string DelXML(string id, string path)
        {
            string stat = null;
            string FileName = AppDomain.CurrentDomain.BaseDirectory;
            string type = path + "s";
            FileName += path + ".xml";
            if (File.Exists(FileName))
            {
                //初始化XML文档操作类
                XmlDocument myDoc = new XmlDocument();
                //加载XML文件
                myDoc.Load(FileName);
                if (myDoc.SelectSingleNode(type).ChildNodes.Count != 0)
                {
                    XmlNodeList nodeList = myDoc.SelectSingleNode(type).ChildNodes;
                    foreach (XmlNode xn in nodeList)
                    {
                        XmlElement xe = (XmlElement)xn;
                        if (xe.GetAttribute("IDServiceid") == id)
                        {
                            myDoc.SelectSingleNode(type).RemoveChild(xe);
                            stat = "ok";
                            myDoc.Save(FileName);
                            break;
                        }
                        else
                        {
                            stat = "error";
                        }
                    }
                }
                else {
                    stat = "error";
                }
            }
            else
            {
                stat = "error";
            }
            return stat;
        }

  • 相关阅读:
    jQuery函数继承 $.extend, $.fn.extend
    [原创]茗洋AaronYang的 jquery.myselect.js 我的一次前端突破[上]
    EasyUI 的 combotree 加载数据后折叠起来,并且只允许单击子节点的写法
    判断js数组包是否包含某个元素
    JS中 HTMLEncode和HTMLDecode
    Easyui datagrid 特殊处理,记录笔记
    easyui tab上面添加右键菜单
    第三方文本框 在div中显示预览,让指定节点不受外部css影响
    Easyui 让Window弹出居中
    C# txt格式记录时间,时间对比,决定是否更新代码记录Demo
  • 原文地址:https://www.cnblogs.com/Mygirl/p/2090319.html
Copyright © 2011-2022 走看看