zoukankan      html  css  js  c++  java
  • Linq to XML增删改查

    直接上示例:

    XML文件:

    <?xml version="1.0" encoding="utf-8"?>
    <users>
      <user id="001">
        <name>Xi</name>
        <age>24</age>
        <sale>male</sale>
        <address>Haidian</address>
      </user>
    </users>

    User实体类:

        public class User
        {
            public string ID { get; set; }
            public string Name { get; set; }
            public string Age { get; set; }
            public string Sale { get; set; }
            public string Address { get; set; }
        }

    XML文件操作:

            #region Operate the xml file
    
            public void ConnectToXmml()
            {
                if (!File.Exists(path))
                {
                    XElement Users = new XElement("users", "");
                    Users.Save(path);
                }
            }
    
            public bool AddToXml(User user)
            {
                XElement Users = XElement.Load(path);
                XElement newUser = new XElement("user",
                    new XAttribute("id", user.ID),
                    new XElement("name", user.Name),
                    new XElement("age", user.Age),
                    new XElement("sale", user.Sale),
                    new XElement("address", user.Address)
                    );
                var u = Users.Elements("user").Where(uu => uu.Attribute("id").Value == user.ID);
                if (u.Count() > 0)
                    return false;
                else
                {
                    Users.Add(newUser);
                    Users.Save(path);
                    return true;                
                }
    
            }
    
            public bool UpdateToXml(User user)
            {
                XElement Users = XElement.Load(path);
                var uu = Users.Elements("user").Where(u => u.Attribute("id").Value == user.ID);
                if (uu.Count() > 0)
                {
                    XElement newUser = uu.First();
                    newUser.ReplaceNodes(
                        new XElement("name", user.Name),
                        new XElement("age", user.Age),
                        new XElement("sale", user.Sale),
                        new XElement("address", user.Address)
                        );
                    Users.Save(path);
                    return true;                
                }
                else
                    return false;
            }
    
            public bool DeleteFromXml(string ID)
            {
                XElement Users = XElement.Load(path);
                var uu = Users.Elements("user").Where(u => u.Attribute("id").Value == ID);
                if (uu.Count() > 0)
                {
                    uu.Remove();
                    Users.Save(path);
                    return true;                
                }
                else
                    return false;
    
            }
    
            public User Queryuser(string ID)
            {
                User newUser = null;
                XElement Users = XElement.Load(path);
                var uu = Users.Elements("user").Where(u => u.Attribute("id").Value == ID);
                if (uu.Count() > 0)
                {
                    XElement xUser = uu.First();
                    newUser = new User
                    {
                        ID = ID,
                        Name = xUser.Element("name").Value,
                        Age = xUser.Element("age").Value,
                        Sale = xUser.Element("sale").Value,
                        Address = xUser.Element("address").Value,
                    };
                }
                return newUser;
            }
    
            #endregion
  • 相关阅读:
    oracle性能监控
    MySQL Explain详解
    oracle中merge into用法解析
    Mysql常见函数
    Quartz -第一篇-入门
    搭建zookeeper集群
    linux 安装mysql
    mysql无法远程访问
    ActiveMQ 持久化
    Nyoj 城市平乱(图论)
  • 原文地址:https://www.cnblogs.com/fengsiyi/p/3082007.html
Copyright © 2011-2022 走看看