public void XmlAdd(string filename, List<People> pList)
{
try
{
List<People> peoples = XmlDeSerializer(filename);
foreach (var item in pList)
{
People people = new People();
people.Name = string.IsNullOrEmpty(item.Name) ? "" : item.Name;
people.Id = string.IsNullOrEmpty(item.Id) ? "" : item.Id;
people.Age = string.IsNullOrEmpty(item.Age) ? "" : item.Age;
people.Sex = string.IsNullOrEmpty(item.Sex) ? "" : item.Sex;
peoples.Add(people);
}
XmlSerializer x = new XmlSerializer(typeof(List<People>));
TextWriter writer = new StreamWriter(filename);
x.Serialize(writer, peoples);
writer.Dispose();
}
catch (Exception ex)
{ }
}
/// <summary>
/// xml编辑
/// </summary>
/// <param name="filename"></param>
/// <param name="people"></param>
public void XmlEdit(string filename, List<People> pList, int index)
{
try
{
XmlDelete("User", index);
List<People> peoples = XmlDeSerializer(filename);
foreach (var item in pList)
{
People people = new People();
people.Name = string.IsNullOrEmpty(item.Name) ? "" : item.Name;
people.Id = string.IsNullOrEmpty(item.Id) ? "" : item.Id;
people.Age = string.IsNullOrEmpty(item.Age) ? "" : item.Age;
people.Sex = string.IsNullOrEmpty(item.Sex) ? "" : item.Sex;
peoples.Insert(index, people);
}
XmlSerializer x = new XmlSerializer(typeof(List<People>));
TextWriter writer = new StreamWriter(filename);
x.Serialize(writer, peoples);
writer.Dispose();
}
catch (Exception ex)
{ }
}
/// <summary>
/// 删除列表
/// </summary>
/// <param name="filename"></param>
/// <param name="pList"></param>
public void XmlDelete(string filename, int index = 0)
{
try
{
List<People> peoples = XmlDeSerializer(filename);
peoples.RemoveAt(index);
XmlSerializer x = new XmlSerializer(typeof(List<People>));
TextWriter writer = new StreamWriter(filename);
x.Serialize(writer, peoples);
writer.Dispose();
}
catch (Exception ex)
{ }
}
/// <summary>
/// 显示列表
/// </summary>
/// <param name="filename"></param>
/// <param name="pList"></param>
public List<People> XmlDeSerializer(string filename)
{
try
{
var mySerializer = new XmlSerializer(typeof(List<People>));
var myFileStream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
if (myFileStream.Length > 0)
{
var myObject = (List<People>)mySerializer.Deserialize(myFileStream);
return myObject;
} myFileStream.Dispose();
return new List<People>();
}
catch (Exception ex)
{
return new List<People>();
}
}

以上是可以放在xmlHelp直接调用的方法

  public class People
{
public string Name;
public string Sex;
public string Age;
public string Id;
public People() { }
public People(string Name, string Sex, string Age, string Id)
{
this.Name = Name;
this.Sex = Sex;
this.Age = Age;
this.Id = Id;
} }

2021-3-13 xml的增删改查的更多相关文章

  1. VB&XML的增删改查

    简介:XML的增删改查 开发过程中有许多后台操作XML的过程,每次需要操作时都是找很多代码来参考或者百度一下.今天决定补充下XML操作的知识,把XML操作的增删改查都写了一遍,供以后开发参考 查询: ...

  2. 对oracle里面clob字段里面xml的增删改查学习

    这段时间,我使用系统表里面有clob字段里面存放的xml信息,我们如何对xml进行增删改查操作呢,自己参考了很多也学到很多,给大家分享一下 首先我们先建测试表 CREATE TABLE EFGP_23 ...

  3. java实现xml文件增删改查

    java一次删除xml多个节点: 方案1.你直接改动了nodeList,这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常. ...

  4. Mybatis之基于XML的增删改查

    这里先吐槽下,写的半天的东西,IE浏览器弹出调试窗口导致写的东西全部没保存,搞得我还要重新用谷歌写,思路全没了,fuck. 前面学习了下spring的DAO层,说起DAO层,那ORM肯定是少不了的,O ...

  5. Mybatis_2.基于XML的增删改查

    1.实体类User.java public class User { private int id; private String name; private int age; //getter.se ...

  6. java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

    一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...

  7. 使用idea对XML的增删改查

    XML:是一种可扩展标记性的语言,与java语言无关,它可以自定义标签. 1.首先需要到导入Dom4j架包,与自己所时候的ide关联 2.编写自己的xml文件,入上图所示(里面的所有元素及元素中的属性 ...

  8. Selenium入门13 cookie的增删改查

    cookie的增删改查: 查询:get_cookies()查询所有cookie,get_cookie(cookie的name)获取单个cookie 删除:delete_cookie(cookie的na ...

  9. 13,SQLAlchemy 增删改查 一对多 多对多

    今天来聊一聊 Python 的 ORM 框架 SQLAlchemy Models 是配置和使用比较简单,因为他是Django自带的ORM框架,也正是因为是Django原生的,所以兼容性远远不如SQLA ...

  10. c# xml的增删改查操作 xmlDocument 的用法

    1.将xml转换为DataTable string path = "";//xml的位置StringReader sr = null;XmlTextReader xmlReader ...

随机推荐

  1. day06-优惠券秒杀02

    功能03-优惠券秒杀02 4.功能03-优惠券秒杀 4.4一人一单 4.4.1需求分析 要求:修改秒杀业务,要求同一个优惠券,一个用户只能下一单. 在之前的做法中,加入一个对用户id和优惠券id的判断 ...

  2. [Pytorch框架] 3.1 logistic回归实战

    文章目录 3.1 logistic回归实战 3.1.1 logistic回归介绍 3.1.2 UCI German Credit 数据集 3.2 代码实战 import torch import to ...

  3. flink之Sink to MySQL和Redis

    前言 下面这篇文章是使用Flink的Sink 写出数据到Redis和MySQL Flink之Sink写入Redis和MySQL Flink需要添加Sink的时候,需要自己去添加写Sink,我们可以实现 ...

  4. 【Redis】Setninel 哨兵机制

    一.Sentinel 哨兵工作原理 Redis在2.6+以后引入哨兵机制,在2.8版本后趋于稳定状态,在生产环境中建议使用2.8版本以上的sentinel服务.sentinel集群用于监控redis集 ...

  5. OData WebAPI实践-Non-EDM模式

    前文说到了 EDM 与 OData 之间的关系,具有 EDM 的 OData 提供了强大的查询能力,但是 OData 并不必须要配置 EDM,我们也可以使用 Non-EDM 方案. Non-EDM 所 ...

  6. 2020-12-02:mysql中,一张表里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记

    2020-12-02:mysql中,一张表里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记 ...

  7. 2021-05-04:给定一个非负整数c,你要判断是否存在两个整数a和b,使得a*a+b*b=c。【举例】c=5时,返回true。c=4时,返回true。c=3时,返回false。

    2021-05-04:给定一个非负整数c,你要判断是否存在两个整数a和b,使得aa+bb=c.[举例]c=5时,返回true.c=4时,返回true.c=3时,返回false. 福大大 答案2021- ...

  8. 2021-07-16:三个无重叠子数组的最大和。给定数组 nums 由正整数组成,找到三个互不重叠的子数组的最大和。每个子数组的长度为k,我们要使这3*k个项的和最大化。返回每个区间起始索引的列表(索

    2021-07-16:三个无重叠子数组的最大和.给定数组 nums 由正整数组成,找到三个互不重叠的子数组的最大和.每个子数组的长度为k,我们要使这3*k个项的和最大化.返回每个区间起始索引的列表(索 ...

  9. 2021-11-10:O(1) 时间插入、删除和获取随机元素。实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象。bool insert(in

    2021-11-10:O(1) 时间插入.删除和获取随机元素.实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象.bool insert(in ...

  10. 关于JavaBean和vo的解释

    前景提要 最近在学JavaWeb,接触到了很多java后端的概念,其中JavaBean和vo的概念一直让我模糊不清,查询众多资料后写个博客记录一下. 首先先贴一下两者的概念: JavaBean Jav ...