微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#中使用XML存储数据

创建XML文档

首先引用System.Xml命名空间

1.初始化一个实例

XmlDocument xd = new XmlDocument();

2.创建XML文件声明

XmlDeclaration xdt = xd.CreateXmlDeclaration("1.0","utf-8",null);
xd.AppendChild(xdt);

3.创建唯一根节点

XmlElement Students = xd.CreateElement("Students");

4.给根节点添加属性(也可以不添加)

Students.SetAttribute("name","学生信息");

5.将根节点加入到XML文件

xd.AppendChild(Students);

6.创建二级节点

XmlElement student = xd.CreateElement("student");
student.SetAttribute("stuNum","100100100");
Students.AppendChild(student);

7.给二级节点填充值

XmlElement name = xd.CreateElement("name");
name.InnerText = "小明";
XmlElement sex = xd.CreateElement("sex");
sex.InnerText = "男";
student.AppendChild(name);
student.AppendChild(sex);

8.保存

xd.Save("StuMS.xml");

9.结果

<?xml version="1.0" encoding="utf-8"?>
<Students name="学生信息">
  <student stuNum="100100100">
    <name>小明</name>
    <sex>男</sex>
  </student>
</Students>

读取XML文档里的信息

首先要先加载XML文档

XmlDocument xd = new XmlDocument();
xd.Load("StuMS.xml");

1.利用索引器读取

//查找标签值
string Name = stuNode.ChildNodes[0].InnerText;
//查找标签属性
string StuNum = stuNode.Attributes[0].Value;

2.利用Xpath查询

// 常用查询方式
//1. "根节点/父节点/子节点"
//2. "//节点"
//3. "根节点/父节点[@父节点属性 = 'value' ]"
//4. "根节点/父节点[子节点 = 'value' ]"

XmlNode stuNode = xd.SelectSingleNode("Students/student[@stuNum =" + stuNum + "]");//可以获得指定stuNum的一个节点
XmlNodeList stuNodeList = xd.SelectNodes("Students/student[sex = '男' ]");//可以获得指定性别的集合

修改XML文档里的信息

找到->修改->保存

//节点信息修改
stuNode.SelectSingleNode("name").InnerText = value;
stuNode.SelectSingleNode("name").InnerXml = value;
//属性信息修改
student.Attributes["stuNum"].Value = value;

InnerText只显示内容小明 男
InnerXml将标签一同显示出来 <name>小明</name><sex>男</sex>

删除XML文档里的信息

//从当前节点获取父节点,从父节点删除当前节点
stuNode.ParentNode.RemoveChild(studentNode);
//从父节点直接删除子节点
stuNode.RemoveChild(studentNode)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐