XML文件介绍
类似html
大家约定俗成的一种文件存储结构。
首先请出我们的xml文件☞ 向阳小学名单.xml
<?xml version="1.0" encoding="UTF-8"?> <Root> <body> <school name="向阳小学"> <grade id="1" name="一年级"> <room rid="1" name="一班"> <student sid = "1101" sex = "男">赵一</student> <student sid = "1102" sex = "女">赵二</student> <student sid = "1103" sex = "女">赵三</student> <student sid = "1104" sex = "男">赵四</student> </room> <room rid="2" name="二班"> <student sid = "1201" sex = "女">钱一</student> <student sid = "1202" sex = "男">钱二</student> <student sid = "1203" sex = "男">钱三</student> </room> </grade> <grade id="2" name="二年级"> <room rid="1" name="一班"> <student sid = "2101" sex = "男">孙一</student> <student sid = "2102" sex = "女">孙二</student> <student sid = "2103" sex = "男">孙三</student> </room> <room rid="2" name="二班"> <student sid = "2201" sex = "男">赵一</student> <student sid = "2202" sex = "女">赵二</student> <student sid = "2203" sex = "男">赵三</student> <student sid = "2204" sex = "女">赵四</student> </room> </grade> </school> </body> </Root>
c#有一套读取xml文件的方法
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(“向阳小学.xml”);
xmlDoc.Save(“向阳小学.xml”);
节点的增加&属性的增加
这里我们创建一个新班级
<room rid="3" name="三班"></room>
示范:节点的创建、属性的添加
XElement newRoom = new XElement("room"); XAttribute rid = new XAttribute("rid", "3"); XAttribute name = new XAttribute("name", "三班"); newRoom.Attributes().Append(rid).Append(name);
上述四步骤可以一次性创建包含属性的节点
创建一个新同学<student sid = "1106" sex = "男">赵六</student>
XElement newStudent2 = new XElement("student", "赵六", new XAttribute("sid", "1106"), new XAttribute("sex", "男"));
新班级下添加新同学
结构变成<room rid="3" name="三班">
<student sid = "1106" sex = "男">赵六</student>
</room>newRoom.Add(newStudent2);
节点的获取&属性的获取
通过id获取,id必须唯一(和html类似,与jsp相似的两种获取节点的方式)
XmlElement grade = xmlDoc.GetElementById("1");
grade 获取数据为 grade id="1" name="一年级">...</grade>
StudentList 获取的是所有学生的节点集合通过节点名称获取
XmlNodeList StudentList = xmlDoc.GetElementsByTagName("student");
当你知道XML文件结构的时候
1.节点唯一的时候使用SelectSingleNode就可以获取 <school name="向阳小学">...</school>
2.这里的StudentList2和通过节点名称获取StudentList获取的节点集合一模一样XmlNode school = xmlDoc.DocumentElement.SelectSingleNode("body/school"); var roomList = xmlDoc.DocumentElement.SelectNodes("body/school/grade/room"); XmlNodeList StudentList2 = xmlDoc.DocumentElement.SelectNodes("body/school/grade/room/student"); //获取节点集合下每个节点 foreach (XmlElement student in StudentList) { }
获取节点属性 获取文本
student 对应节点 <student sid = "2103" sex = "男">孙三</student>//所以这里sid:2103 name:孙三 string sid = student.GetAttribute("sid"); string name = student.InnerText;
节点的修改&属性的修改
节点不修改,你想修改属性那就是属性修改
反正你通过添加节点就可以实现:)
student内容: <student sid = "2103" sex = "男">孙三</student>
修改之后为:<student sid = "1105" sex = "男">赵明</student>student.SetAttribute("sid", "1105"); student.InnerText = "赵明"; //注意必须保存,不然文件修改不会生效 xmlDoc.Save("向阳小学名单.xml");
节点的删除&属性的删除
父节点删除子节点 节点删除属性 记得保存:)
room.RemoveChild(student); student.RemoveAttribute("sex"); xmlDoc.Save("向阳小学名单.xml");
【C#从入门到遛弯】第十五章 · XML文件介绍&节点|属性的增删改查
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iceSony/article/details/84141875
猜你喜欢
转载自blog.csdn.net/iceSony/article/details/84141875
今日推荐
周排行