接着上篇博客《XML简介与创建》,这篇博客将介绍对xml文档的简单操作:
一、读取xml文档;
1、创建xml文档对象;
XmlDocument doc = newXmlDocument();
2、加载要读取的xml
doc.Load("Books.xml");
3、获取根结点
XmlElement books =doc.DocumentElement;
4、获取子结点;
XmlNodeList xnl =books.ChildNodes;
5、遍历子结点下的集合
foreach (XmlNode item in xnl) { Console.WriteLine(item.InnerText); } Console.ReadKey();
二、读取带属性的xml文档;
每次读取文档前,都有先加载所要读取的文档。在读取带属性的文档时,需要获取节点列表,获取节点列表后,遍历列表中我们想要访问的节点。
XmlNodeList xnl =doc.SelectNodes("/Order/Items/OrderItem");
在添加属性时,我们使用了方法SetAttribute,此时,要读取节点的属性,需要加载节点的Attribute属性。
foreach (XmlNode node in xnl) { Console.WriteLine(node.Attributes["Name"].Value); Console.WriteLine(node.Attributes["Count"].Value); Console.WriteLine(node.Attributes["Color"].Value); } Console.ReadKey();
三、改变属性值;
想要修改属性值,就要知道该属性属于哪个节点,比如我想修改姓名属性为HelloKitty的节点下的属性值:
XmlNode xn =doc.SelectSingleNode("/Order/Items/OrderItem[@Name='HelloKitty']");
接着,使用Attributes属性,对节点下我们想修改的部分进行修改:
xn.Attributes["Count"].Value= "111111"; xn.Attributes["Name"].Value = "可欣";
doc.Save("Order.xml");
四、删除文档节点;
删除节点很简单:选择我们要删除的节点后,直接进行remove操作,并保存
XmlNode xn =doc.SelectSingleNode("/Order/Items"); xn.RemoveAll(); doc.Save("Order.xml");
总结:
所有对文档节点的操作在之前都要先引用命名空间system.xml,同时,对xml文档信息操作时,要先声明xml文档对象,加载我们想要操作的文档后才能执行。就像我们如果想要去拜访一位老师,要先确定老师的地址才能找到老师。