zoukankan      html  css  js  c++  java
  • xml 以键值对形式存储

    1.XM 文件:

    <?xmlversion="1.0"encoding="utf-8"?>

    <Root>

      <Templete alias="">

        <TempleteName>atest20120806test</TempleteName>    

       <Templetevalue>cb1,cb7,cb9,cb5,cb2,SRRcb7,PVRcb2,PVRcb6,PVRcb10</Templetevalue>

     </Templete>

    <Templete alias="">

        <TempleteName>templateaaaa</TempleteName>

       <Templetevalue>cb1,cb7</Templetevalue>

    </Root>

    2.存储便利xml:

    public staticbool CreateXML(string TempleteName, string TempleteValue, string UserName, string xpath)

            {

    try

                {

                   XmlDocument xmlDoc = newXmlDocument();

                    xmlDoc.Load(xpath);

                   XmlNode root = xmlDoc.SelectSingleNode("Root");//查找

                   if (root == null)

                       returnfalse;

                   bool isExistsNode = false;

                   //遍历xpath节点下的所有子节点

                   foreach (XmlNode node in root.ChildNodes)

                    {

                       string curTempleteName = node.ChildNodes[0].InnerText;

                       string curTempleteValue = node.ChildNodes[1].InnerText;

                       if (curTempleteName == TempleteName)

                        {

                           //存在此节点则更新

                            node.ChildNodes[1].InnerText = TempleteValue;

                           XmlNode nodes = node.ChildNodes[1].ParentNode;//找到此节点的父节点

                           XmlElement partentXE = (XmlElement)nodes;//将父节点类型转换为XmlElement

                            partentXE.SetAttribute("alias", UserName);

                            isExistsNode =true;

                           break;

                        }

                    }

                   if (!isExistsNode)//不存在重复,创建

                    {

                        XmlElement xe1 = xmlDoc.CreateElement("Templete");//创建一个节点

                        xe1.SetAttribute("alias", UserName);

                       XmlElement xe2 = xmlDoc.CreateElement("TempleteName");

                        xe2.InnerText = TempleteName;//设置文本节点

                        xe1.AppendChild(xe2);//添加到节点中

                       XmlElement xe3 = xmlDoc.CreateElement("Templetevalue");

                        xe3.InnerText = TempleteValue;//设置文本节点

                        xe1.AppendChild(xe3);//添加到节点中

                        root.AppendChild(xe1);//添加到节点中

                    }

                    xmlDoc.Save(xpath);

                   return true;

                }

               catch (Exception ex)

                {

                   return false;

                }

            }

  • 相关阅读:
    发布 Rafy .NET Standard 版本 Nuget 包
    使用 MarkDown & DocFX 升级 Rafy 帮助文档
    apache2服务器支持cgi功能
    百兆网口与千兆网口速率协商不成功
    ubuntu etho0 up cron
    linux 后台进程
    MySQL的事务性
    linux下visual studio code配置c++调试环境实例
    linux下visual studio code中gdb调试文件launch.json解析
    Zookeeper安装后,编译C client时报错"syntax error near unexpected token `1.10.2"
  • 原文地址:https://www.cnblogs.com/yonguibe/p/2674984.html
Copyright © 2011-2022 走看看