关闭

C#开发学习笔记:xml文件的写入操作

标签: xmlc#xml写入
226人阅读 评论(0) 收藏 举报
分类:

1.首先判断指定的文件路径中是否已存在此xml文件

//判断文件是否存在,不存在则创建                           
  if (!File.Exists("...\\Client\\Login\\Updateinfo.xml"))

2.不存在则创建xml文件

(1).定义一个xml文件,并创建根节点保存

xml = new XmlDocument();//定义一个新的xml文件

//创建根节点
XmlElement NewNode = xml.CreateElement("Update");

//将根节点添加到xml文件中
xml.AppendChild(NewNode);
                                
xml.Save("...\\Client\\Login\\Updateinfo.xml");

注:这里创建完根节点之后必须保存当前xml文件,否则在执行添加多个子节点时会报当前添加的节点不存在当前文档的上下文错误

3.xml文档的写入操作

(1).重新加载xml文档

xml = new XmlDocument();
xml.Load("...\\Client\\Login\\Updateinfo.xml");//加载xml文件
注:重新实例化是考虑到程序重启之后的加载,如果不实例化而直接加载报错将报空对象的错误

(2).找到需要添加子节点的节点(同样,不存在需要创建)

//判断当前加载的xml文档中是否存在相应的节点,不存在则创建
XmlNode node = xml.SelectSingleNode("Update").SelectSingleNode("SoftWare");
if (node == null)
{
    //创建子节点
    XmlElement ChildNode = xml.CreateElement("SoftWare");

    //设置ChildNode节点的相关属性值
    ChildNode.SetAttribute("name", "云起管理系统");
    ChildNode.SetAttribute("Version", "1.0.0.0");

    xml.SelectSingleNode("Update").AppendChild(ChildNode);//将子节点添加到根节点中
    node = (XmlNode)ChildNode;
}
注:节点需要从根节点一级一级往下找,否则找不到相应的节点

(3).添加子节点到需要的节点

 //为需要的节点继续创建子节点
XmlElement Files = xml.CreateElement("Flies");
Files.SetAttribute("FilesName", name);
Files.SetAttribute("FilesVersion", assembly.GetName().Version.ToString());

node.AppendChild(Files);//将节点添加到相应的节点中

xml.Save("...\\Client\\Login\\Updateinfo.xml");//保存xml文件


注:每个节点添加一个子节点,就需要保存一次xml文档,否则后续循环添加的节点不能插入到目标节点中


4.完整的代码

if (!name.Contains("Dev"))
{
	//判断文件是否存在,不存在则创建
	if (!File.Exists("...\\Client\\Login\\Updateinfo.xml"))
	{
		xml = new XmlDocument();//定义一个新的xml文件
		//创建根节点
		XmlElement NewNode = xml.CreateElement("Update");
		//将根节点添加到xml文件中
		xml.AppendChild(NewNode);
		xml.Save("...\\Client\\Login\\Updateinfo.xml");
	}
	xml = new XmlDocument();
	xml.Load("...\\Client\\Login\\Updateinfo.xml");//加载xml文件
	//判断当前加载的xml文档中是否存在相应的节点,不存在则创建
	XmlNode node = xml.SelectSingleNode("Update").SelectSingleNode("SoftWare");
	if (node == null)
	{
		//创建子节点
		XmlElement ChildNode = xml.CreateElement("SoftWare");
		//设置ChildNode节点的相关属性值
		ChildNode.SetAttribute("name", "云起管理系统");
		ChildNode.SetAttribute("Version", "1.0.0.0");
		xml.SelectSingleNode("Update").AppendChild(ChildNode);//将子节点添加到根节点中
		node = (XmlNode)ChildNode;
	}
 	//为需要的节点继续创建子节点
	XmlElement Files = xml.CreateElement("Flies");
	Files.SetAttribute("FilesName", name);
	Files.SetAttribute("FilesVersion", assembly.GetName().Version.ToString());
	node.AppendChild(Files);//将节点添加到相应的节点中
	xml.Save("...\\Client\\Login\\Updateinfo.xml");//保存xml文件
}









0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9843次
    • 积分:248
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条