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);

  • 相关阅读:
    今天面试一些程序员(新,老)手的体会
    UVA 10635 Prince and Princess
    poj 2240 Arbitrage
    poj 2253 Frogger
    poj 2485 Highways
    UVA 11258 String Partition
    UVA 11151 Longest Palindrome
    poj 1125 Stockbroker Grapevine
    poj 1789 Truck History
    poj 3259 Wormholes
  • 原文地址:https://www.cnblogs.com/chenleinet/p/2110609.html
Copyright © 2011-2022 走看看