zoukankan      html  css  js  c++  java
  • 常用的xml文件操作

    xml文件主要结构如下

    <config>

    <item key="test" value="test"/>

    <item key="test" value="test"/>

    </config>

    一 读取

    XmlDocument xmlDoc = new XmlDocument();

      xmlDoc.Load(fileName);

    二 转换到list

    先建立一个实体类

    public  class QueueXml
        {
          
    public string Key
          {
              
    get;
              
    set;
          }

          
    public string Value
          {
              
    get;
              
    set;
          }
        }

    然后

     List<QueueXml> list = new List<QueueXml>();
            
                xmlDoc.Load(fileName);

                foreach (XmlNode node in xmlDoc.SelectNodes("/Config/Item"))
                {
                    QueueXml queueXml = new QueueXml();
                    queueXml.Key=node.Attributes["key"].Value;
                    queueXml.Value=node.Attributes["value"].Value;
                    list.Add(queueXml);
                }

    这样就可以了。

    三 寻找节点

     string xPath=string.Format("Config/Item[@key='{0}']",“test”)

     XmlNode node=xmlDoc.SelectSingleNode(xPath);

    四 移除节点并保存

    string xPath=string.Format("Config/Item[@key='{0}']",“test”)

     XmlNode node=xmlDoc.SelectSingleNode(xPath);
       xmlDoc.SelectSingleNode("/Config").RemoveChild(node);
        this.xmlDoc.Save(fileName);

    五 建立节点并保存

     XmlAttribute attrKey= xmlDoc.CreateAttribute("key");
                        attrKey.Value = str;
                        XmlAttribute attrValue= xmlDoc.CreateAttribute("value");
                        attrValue.Value = str;
                       
                        XmlNode node= xmlDoc.CreateElement("Item");
                        node.Attributes.Append(attrKey);
                        node.Attributes.Append(attrValue);

                        xmlDoc.SelectSingleNode("/Config").AppendChild(node);

                        this.xmlDoc.Save(fileName);

  • 相关阅读:
    Spring的事务 之 9.4 声明式事务 ——跟我学spring3
    我对AOP的理解
    基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别。
    我对IoC/DI的理解
    Spring对事务管理的支持的发展历程(基础篇)
    Tomcat一个BUG造成CLOSE_WAIT
    用dubbo时遇到的一个序列化的坑
    只写完功能代码仅仅只是开始
    事物隔离级别和乐观锁
    关于ubuntu实机与虚机互相copy
  • 原文地址:https://www.cnblogs.com/chenleinet/p/2110609.html
Copyright © 2011-2022 走看看