C# 读写XML(代码分享)
作者:X.S 发布时间:2022-11-05 15:28:10
标签:C#,读,写,XML
读XML
XmlDocument xd = new XmlDocument();
string fileName = @"D:\test.xml";
xd.Load(fileName);
XmlNodeList xmlNoteList = xd.GetElementsByTagName("user");
List<User> users = new List<User>();
foreach (XmlElement item in xmlNoteList)
{
User user = new User();
user.Id = int.Parse(item.GetAttribute("id"));
XmlNodeList xnl = item.ChildNodes;
user.Name = xnl[0].InnerXml;
user.Age =int.Parse(xnl[1].InnerXml);
user.Gender = xnl[2].InnerXml;
users.Add(user);
}
foreach (var item in users)
{
Console.WriteLine(item);
}
Read XML
<?xml version="1.0" encoding="gb2312"?>
<users>
<user id='1'>
<name >张三</name>
<age>15</age>
<gender>男</gender>
</user>
<user id='2'>
<name>李四</name>
<age>14</age>
<gender>男</gender>
</user>
</users>
test.xml
写XML
string fileName =@"D:\test.xml";
XmlDocument xmlDoc = new XmlDocument();
XmlNode header = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);
xmlDoc.AppendChild(header);
//创建一级节点
XmlElement rootNode = xmlDoc.CreateElement("users");
List<User> list = GetUsers();
foreach (var item in list)
{
XmlElement xn = InserUser(item,xmlDoc);
rootNode.AppendChild(xn);
}
xmlDoc.AppendChild(rootNode);
xmlDoc.Save(fileName);
}
/// <summary>
/// 创建整个user的元素
/// </summary>
/// <param name="user"></param>
/// <param name="xmlDoc"></param>
/// <returns></returns>
private static XmlElement InserUser(User user, XmlDocument xmlDoc)
{
XmlElement xn = xmlDoc.CreateElement("user");
xn.SetAttribute("id", user.Id + "");
xn.AppendChild(GetXmlNode(xmlDoc,"name",user.Name));
xn.AppendChild(GetXmlNode(xmlDoc, "age", user.Age + ""));
xn.AppendChild(GetXmlNode(xmlDoc, "gender", user.Gender));
return xn;
}
private static XmlElement GetXmlNode(XmlDocument xmlDoc,string name,string value)
{
XmlElement xn = xmlDoc.CreateElement(name);
xn.InnerText = value;
return xn;
}
private static List<User> GetUsers()
{
List<User> list = new List<User>();
for (int i = 0; i < 10; i++)
{
User user = new User();
user.Id = i;
user.Name = "Name" + i;
user.Age = 15;
user.Gender = "男";
list.Add(user);
}
return list;
}
Write XML
实体类
class User
{
public int Id { set; get; }
public string Name { get; set; }
public int Age { get; set; }
public string Gender { set; get; }
public override string ToString()
{
return Id +","+Name + "," +Age+"," + Gender;
}
}
Entity
来源:http://www.cnblogs.com/hhzz/p/6592452.html
0
投稿
猜你喜欢
- 如下所示:using System;using System.Collections.Generic;using System.Linq;u
- 我们知道,当我们按返回或Home键退出应用程序的界面时,应用程序会在后台被挂起。这么设计的好处是,由于应用被系统缓存在内存中,那么在用户打开
- 本文实例为大家分享了C#线程倒计时器源码,供大家参考,具体内容如下using System;using System.Collections
- equals函数在基类object中已经定义,源码如下 public boolean equals(Object obj) { return
- 对象内存分配与回收策略对象的内存分配,往大方向讲,就是在堆上分配〔但也可能经过JIT编译后被拆散为标量类型并间接地栈上分配),对象主要分配在
- Mybatis @SelectKey用法用处主要用来解决主键自增问题用法@SelectKey(statement="SELECT
- 前言上一节我们搭建起了服务注册中心,为各个服务提供者和消费者提供一个桥梁,这一节我们搭建一个服务提供者,注册到注册中心开源地址:https:
- 最近由于公司业务,就开始研究微信开发的流程,说实话,这东西刚开始看到时候和看天书的一样,总算,看了一天的文档,测试代码终于出来了。1、首先需
- 前言目前,企业项目的开发过程中,往往会使用配置文件来做一些配置项来实现项目部署的灵活性,避免硬编码的方式在环境变化时需要对代码进行重新编译。
- 前言开篇一个例子,我看看都有谁会?如果不会的,或者不知道原理的,还是老老实实看完这篇文章吧。@Slf4j(topic = "c.V
- 1:Maven命令下载源码和javadocs当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven
- 文件目录结构文件目录结构很重要,特别注意的是rule文件要放在主启动类上一级位置,才能够扫描。写pom<dependencies>
- 简介说明本文用实例介绍stream的使用。JDK8新增了Stream(流操作) 处理集合的数据,可执行查找、过滤和映射数据等操作。使用Str
- 一、概述1、WebRequest:对统一资源标识符 (URI) 发出请求。 这是一个 abstract 类。WebRequest的派生类:P
- 一、算法描述波雷费密码是一种对称式密码,是首种双字母取代的加密法。下面描述算法步骤:1、从1号二维码M05,提取明文信息和密文,M05格式:
- Dubbo作为国内最出名的分布式服务框架,是Java程序员必备必会的框架之一,更是中高级测试面试过程中经常会问的技术,无论你是否用过,你都必
- 使用@Autowired注解有错误提示使用Spring boot +mybatis框架时,在service实现类中使用Mapper类,给Ma
- Spring多数据源实现的方式大概有2中,一种是新建多个MapperScan扫描不同包,另外一种则是通过继承AbstractRoutingD
- 一、Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的。在Java类库中,IO部分的内容是很
- 类加载器类加载器作用负责将.class文件(存储的物理文件)加载到内存中类加载器过程加载:通过全类名获取这个类准备用流传输,加载进内存,加载