利用C#来创建一个xml文档
主要的步骤还是:
利用了微软提供的XmlDocument类来创建一个xDoc的文档实例化对象
利用这个对象来创建xml的表头(声明),里面包含版本,编码
然后还是利用这个xDoc文档对象里的CreateElement方法来创建对应的element,最后利用xDoc里的AppendChild方法进行逐级的绑定
XmlElement类型的数据具有setAttribute的方法来设置自身element的一些属性(姓名,学号等等)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace ConsoleApp1
{
public class RW
{
public void WriteXml()
{
Random rd = new Random();
//创建文档
XmlDocument xDoc = new XmlDocument();
//创建声明的内容
XmlDeclaration declaration= xDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
//绑定声明的内容
xDoc.AppendChild(declaration);
//创建根节点
XmlElement elemRoot= xDoc.CreateElement("student");
//绑定根节点
xDoc.AppendChild(elemRoot);
for (int i = 0; i < 10; i++)
{
//创建子节点
XmlElement eleSub = xDoc.CreateElement("student1");
elemRoot.AppendChild(eleSub);
//设置属性
eleSub.SetAttribute("name", "张三");
eleSub.SetAttribute("学号", i.ToString());
XmlElement eleSubject = xDoc.CreateElement("成绩");
eleSub.AppendChild(eleSubject);
eleSubject.InnerText = rd.Next(60,100).ToString();
}
//保存
xDoc.Save("students.xml");
}
}
}
下面是实现效果
读取xml文件里的内容
依旧先实例化XmlDocument类,获得一个xDoc对象
利用xDoc的Load方法获取到文件夹目录里的文件
然后利用xDoc的SelectSingleNode的方法获取第一个匹配的子节点并用XmlNode的类型数据node接收
利用node里ChildNodes属性把所有的子节点赋给一个XmlNodeList类型的变量 nodeList
遍历这个对象后,强制转换每一个XmlNode到XmlElement类型的数据,并且通过GetAttribute方法获取对应的属性以及属性值
代码如下
public void ReadXml()
{
//实例化对象
XmlDocument xDoc = new XmlDocument();
//加载文档
xDoc.Load("students.xml");
//获取第一个匹配的节点
XmlNode node= xDoc.SelectSingleNode("student");
//获取所有的子节点
XmlNodeList nodeList= node.ChildNodes;
//循环遍历
foreach (XmlNode item in nodeList)
{
XmlElement itemEle = (XmlElement)item;
Console.WriteLine(itemEle.GetAttribute("name")+" "+itemEle.GetAttribute("学号"));
}
}
修改
和创建方法类似