C#基础_XML文件读写
使用C#对XML文件进行操作,包括生成一个XML文档,以及读取XML文档中的内容,修改某个元素中的内容
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//引用命名空间
using System.Xml; namespace 读写xml
{
public class RWXml
{
/// <summary>
/// 生成一个XML文档
/// </summary>
public void WriteXml()
{
Random rd = new Random(); //首先创建XML文档
/*1、实例化一个XmlDocument类*/
XmlDocument xDoc = new XmlDocument();
//创建XML声明
XmlDeclaration declaration = xDoc.CreateXmlDeclaration("1.0", "UTF-8", "yes");//版本号,编码格式,返回值是一个声明
//将指定的节点添加到该节点的子节点的列表的末尾,此处是添加声明
xDoc.AppendChild(declaration);
//一个XML文档,至少得有一个根元素
//创建根节点,返回值是一个元素
XmlElement elem = xDoc.CreateElement("students");//创建具有指定名称的元素
xDoc.AppendChild(elem);//添加根节点 for (int i = 1; i < 10; i++)
{
//添加子节点到根节点里面
XmlElement elem1 = xDoc.CreateElement("student");//创建子节点
elem.AppendChild(elem1);//将第一级的子节点添加到根节点后面 ////添加子节点的节点
//XmlElement elsm1_1 = xDoc.CreateElement("name");
//elem1.AppendChild(elsm1_1); //给节点添加属性
elem1.SetAttribute("姓名", "张三");//设置具有指定名称的属性的值,属性名称,属性值
elem1.SetAttribute("学号", i.ToString()); //添加子节点的节点
XmlElement elem1_1 = xDoc.CreateElement("语文成绩");
elem1.AppendChild(elem1_1);
elem1_1.InnerText = rd.Next(40, 120).ToString(); XmlElement elem1_2 = xDoc.CreateElement("数学成绩");
elem1.AppendChild(elem1_2);
elem1_2.InnerText = rd.Next(40, 120).ToString(); XmlElement elem1_3 = xDoc.CreateElement("英语成绩");
elem1.AppendChild(elem1_3);
elem1_3.InnerText = rd.Next(40, 120).ToString();
}
xDoc.Save("students.xml");
} /// <summary>
/// 读取XML文档
/// </summary>
public void ReadXml()
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load("students.xml"); //获取到根节点
XmlNode rootNode = xDoc.SelectSingleNode("students");
XmlNodeList nodeList = rootNode.ChildNodes;//获取节点的所有子节点 foreach (XmlNode no in nodeList)
{
//类型显示转换
XmlElement elem = (XmlElement)no;//将节点转换为元素,方便后面获取属性
string name = elem.GetAttribute("姓名");
string number = elem.GetAttribute("学号");
//输出名字和学号信息
Console.WriteLine("姓名:" + name + " 学号:" + number); //获取子节点的所有节点
XmlNodeList childList = elem.ChildNodes;
foreach (XmlNode child in childList)
{
XmlElement childElem = (XmlElement)child;//节点转换为元素 string className = childElem.Name;//获取节点的名称
string score = childElem.InnerText;//获取节点的值
Console.WriteLine(className + ":" + score); //修改指定学号的学生的指定科目成绩
if (number == "3")
{
if (childElem.Name == "语文成绩")
{
childElem.InnerText = "120";
}
if (childElem.Name == "数学成绩")
{
childElem.InnerText = "120";
}
}
}
}
xDoc.Save("students.xml");
Console.ReadLine();
}
}
}
C#基础_XML文件读写的更多相关文章
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- 第二篇:python基础之文件读写
python基础之文件读写 python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...
- C#基础_XML文件介绍
XML简介 XML 被设计用来传输和存储数据. HTML 被设计用来显示数据. 什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语 ...
- 转载-Python学习笔记之文件读写
Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...
- Python文件读写(open(),close(),with open() as f...)
Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题 ...
- Python学习(九)IO 编程 —— 文件读写
Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...
- 七. Python基础(7)--文件的读写
七. Python基础(7)--文件的读写 1 ● 文件读取的知识补充 f = open('file', encoding = 'utf-8') content1 = f.read() content ...
- Python基础笔记系列十一:标准输入输出、文件读写和指针等操作
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...
- python 基础-文件读写'r' 和 'rb'区别
原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...
随机推荐
- Keytool配置 Tomcat的HTTPS双向认证
Keytool配置 Tomcat的HTTPS双向认证 证书生成 keytool 简介 Keytool是一个Java数据证书的管理工具, Keytool将密钥(key)和证书(certificates) ...
- Docker容器编译安装Redis
Docker容器编译安装Redis 1.创建容器 -i 交互模式 -d 后端运行 -h 容器的hostname --name 容器名 --network 网卡 --ip IP地址 -p 端口映射 -- ...
- Ribbon的ServerStats引起内存泄露问题总结
问题描述 服务运行一段时间之后,出现页面卡顿加载慢的问题,使用top命令查看了服务器的使用情况,发现CPU飙高,接着查看了该进程中每个线程的占用情况,发现导致CPU高的线程是JVM垃圾回收的线程,然后 ...
- JS:&&运算符
&&逻辑运算符 当&&连接语句时,两边的语句会转化为布尔类型 1.两边条件都为true时,结果才为true: 2.如果有一个为false,结果就为false: 3.当第 ...
- 重学ES系列之过滤数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SAP Easy tree
*&---------------------------------------------------------------------* *& Include SIMPLE_T ...
- SAP 文本框多行输入
REPORT zjw_test01. CONSTANTS: gc_text_line_length TYPE i VALUE 72. TYPES: text_table_type(gc_text_li ...
- UiPath循环活动Do While的介绍和使用
一.Do While的介绍 先执行循环体, 再判断条件是否满足, 如果满足, 则再次执行循环体, 直到判断条件不满足, 则跳出循环 二.Do While在UiPath中的使用 1. 打开设计器,在设计 ...
- Mysql数据库的默认引擎
InnoDB的优势在于提供了良好的事务处理.崩溃修复能力和并发控制.缺点是读写效率较差,占用的数据空间相对较大. ①InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制.如果需要对事务的完 ...
- MySQL查询为什么没走索引?这篇文章带你全面解析
工作中,经常遇到这样的问题,我明明在MySQL表上面加了索引,为什么执行SQL查询的时候却没有用到索引? 同一条SQL有时候查询用到了索引,有时候却没用到索引,这是咋回事? 原因可能是索引失效了,失效 ...