XML文件操作(C#)
XML应用于Web开发的许多方面,常用于简化数据的存储和共享,它的设计宗旨是传输数据,而非显示数据。下面简单介绍一下C#是如何对XML文件进行读取的。
1、首先,建立XML对象并关联XML文件
string xmlFileName = "student.xml"; XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFileName);
2、获取到xml文件的根节点
//获取到xml文件的根节点
XmlElement nodeRoot = xmlDoc.DocumentElement;
3、创建新节点
//创建一个新节点
XmlElement nodeNew = xmlDoc.CreateElement("student");
//创建新节点的孩子节点
XmlElement nodeNum = xmlDoc.CreateElement("num");
XmlElement nodeName = xmlDoc.CreateElement("name");
XmlElement nodeAge = xmlDoc.CreateElement("age");
//把孩子节点与新节点建立父子关系
nodeNew.AppendChild(nodeNum);
nodeNew.AppendChild(nodeName);
nodeNew.AppendChild(nodeAge);
//创建节点文本,并关联节点
XmlText txtNum = xmlDoc.CreateTextNode("");
XmlText txtName = xmlDoc.CreateTextNode("张三");
XmlText txtAge = xmlDoc.CreateTextNode("");
nodeNum.AppendChild(txtNum);
nodeName.AppendChild(txtName);
nodeAge.AppendChild(txtAge);
4、添加新建的节点到文件
//添加新建的节点
nodeRoot.AppendChild(nodeNew);//添加到根节点
//nodeRoot.InsertBefore(nodeNew, nodeRoot.FirstChild);//添加到尾部
5、删除节点
if (nodeRoot.HasChildNodes)
{
nodeRoot.RemoveChild(nodeRoot.FirstChild);//删除首个节点
}
6、遍历节点
//遍历student.xml,查看指定节点的age值
XmlNodeList studentList = nodeRoot.SelectNodes("*");
foreach (XmlNode student in studentList)
{
if (student.FirstChild.InnerText.Equals(""))
{
XmlNodeList stuChidNodeList = student.SelectNodes("*");
foreach (XmlNode stuChileNode in stuChidNodeList)
{
if (stuChileNode.Name.Equals("age"))
{
Console.Write(stuChileNode.InnerText + " ");
}
}
Console.WriteLine();
break;
}
else
{
continue;
}
}
7、保存XML文件
//保存xml
xmlDoc.Save(xmlFileName);
附件:
实验XML文件(student.xml)
<?xml version="1.0" encoding="utf-8"?>
<!--学生根节点-->
<students>
<student class="clss1">
<num>002</num>
<name>hello2</name>
<age>22</age>
</student>
<student class="clss2">
<num>003</num>
<name>hello3</name>
<age>88</age>
</student>
<student>
<num>004</num>
<name>faf</name>
<age>43</age>
</student>
<student>
<num>005</num>
<name>新人</name>
<age>22</age>
</student>
<student>
<num>006</num>
<name>新人</name>
<age>22</age>
</student>
<student>
<num>001</num>
<name>张三</name>
<age>22</age>
</student>
<student>
<num>001</num>
<name>张三</name>
<age>22</age>
</student>
</students>
student.xml
相关链接:
XML基础教程:http://www.w3school.com.cn/xml/index.asp
XML文件操作(C#)的更多相关文章
- 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!
我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...
- C# XML文件操作
C# XML文件操作 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-09 参考 LINQ to XML System.Xml ...
- XML文件操作类--创建XML文件
这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...
- PHP对XML文件操作之属性与方法讲解
DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definit ...
- 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...
- SpringBatch Sample (三)(XML文件操作)
前篇关于Spring Batch的文章,讲述了Spring Batch 对CSV文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对XML文件的读写操作.实例流程是 ...
- XML文件操作之dom4j
能够操作xml的api还是挺多的,DOM也是可以的,不过在此记录下dom4j的使用,感觉确实挺方便的 所需jar包官网地址:http://www.dom4j.org/dom4j-1.6.1/ dom4 ...
- C#XML文件操作随笔
以为公司一直没有电源屏厂家协议解析为DevVars相关的软件,手写费时费力还容易出错,用了2天时间做了一个.txt协议文件筛选加并解析成xml文件的工具,总结一下用到的几个知识点 1.LINQ 是一个 ...
- Xml文件操作的其中一个使用方法:
XmlNodeList students = doc.DocumentElement.ChildNodes;//Student节点集合 foreach (XmlNode stu in students ...
随机推荐
- SpringMVC学习系列(7) 之 格式化显示
在系列(6)中我们介绍了如何验证提交的数据的正确性,当数据验证通过后就会被我们保存起来.保存的数据会用于以后的展示,这才是保存的价值.那么在展示的时候如何按照要求显示?(比如:小数保留一定的位数,日期 ...
- Ubuntu 16.10 在 VMware 上无法安装的解决办法
参考:http://askubuntu.com/questions/840822/ubuntu-16-10-doesnt-work-in-virtual-machine-vmware 1- Edit ...
- 泛型、Linq 查询使用
查询类对象数组中符合条件的一个实例对象 泛型自带查询方法: EntityErpFldMx ms = aryFldMx.Where(i => i.Jhd == "4900120121&q ...
- server application error应用错误
本地使用IIS测试ASP脚本网页,结果发现提示[Server Application Error The server has encountered an error while loading a ...
- 【转】Cordova文件传输插件fileTransfer
任务要求: 访问手机的目录,选择一个文件,并使用该插件将指定文件传输到远程主机的某个指定目录中. HTML <!DOCTYPE html> <!-- Licensed to the ...
- typedef struct 结构体
typedef struct _TTTT_ { int i; }TT_TT; 定义变量如下: struct _TTTT_ NewTT;方法1 TT_TT NewTT;方法2 是声明和定义 ...
- MyBatis Sql语句中的转义字符
1.在xml的sql语句中,不能直接用大于号.小于号要用转义字符 如果用小于号会报错误如下: org.apache.ibatis.builder.BuilderException: Error cre ...
- java和Javascript的区别
1 首先,这两个家伙没有任何的血缘关系,java是是由Sun 公司于1995年5月推出的,而javascript是于1995年由Netscape公司设计实现而成的,由于Netscape公司与Sun公司 ...
- springMVC下载FTP上的文件
springMVC下载FTP上的文件 今天没时间写.先上传 一个工具类 工具类 package com.utils; import java.io.File; import java.io.FileO ...
- OLAT & OLTP
联机事务处理(OLTP)和联机分析处理(OLAP)的不同,主要通过以下五点区分开来. 用户和系统的面向性: OLTP是面向顾客的,用于事务和查询处理 OLAP是面向市场的,用于数据分析 数据内容: O ...