• 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
  • 相关阅读:
    Go并发
    frida打印class的信息--java反射
    Go嵌入类型
    Go方法集-应该传值类型还是指针类型?
    springboot使用unidbg遇到logback和sl4j依赖冲突,正确配置文件
    Eureka 微服务注册发现开源框架
    呼吸机CPAP与APAP:哪个更好?
    如何看睡眠监测报告
    抓包工具 tcpdump 用法说明
    利用ROS的samba功能实现centos定期备份ROS配置
  • 原文地址:https://www.cnblogs.com/fengsiyi/p/3082007.html
Copyright © 2020-2023  润新知