读写XML
Posted tags: 篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读写XML相关的知识,希望对你有一定的参考价值。 XML: 代码: 以上是关于读写XML的主要内容,如果未能解决你的问题,请参考以下文章
//实例化
XmlDocument xmldc = new XmlDocument();
//加载xml文件,参数是路径。
xmldc.Load("C:/Users/Desktop/1.xml");
//获取根元素Company的节点列表
XmlNodeList nodelist = xmldc.SelectSingleNode("Company").ChildNodes;
//1、查询已知绝对路径的节点(集)
//结果:获取了3个Employee节点
XmlNodeList objNodeList = xmldc.SelectNodes("Company/Department/Employee");
//2、返回第一个节点
//结果:3个节点中,只会取第一条
XmlNode objNode = xmldc.SelectSingleNode("/Company/Department/Employee");
//3、查询已知相对路径的节点(集)
//结果:第一个Department节点下的数据
objNode = xmldc.SelectSingleNode("Company/Department");
//结果:objNodeList未获取到数据(错误的)
objNodeList = xmldc.SelectNodes("../Department");
//4、查询已知元素名的节点(集)
//在使用不规则的层次文档时,由于不知道中间层次的元素名,可使用//符号来越过中间的节点,查询其子,孙或多层次下的其他所有元素。
//结果:获取了3个Employee节点
objNodeList = xmldc.SelectNodes("Company//Employee");
//5、查询属性(attribute)节点
//以上的各种方法都返回元素(element)节点(集),返回属性(attribute),只需要采用相应的方法,在属性名前加一个@符号即可
//结果:返回的Employee的属性带有Id的2条数据
objNodeList = xmldc.SelectNodes("Company/Department/Employee/@Id");
//结果:返回的属性带有Id的3条数据(指:Employee节点的2条,Department_Name1条)
objNodeList = xmldc.SelectNodes("Company//@Id");
//6、查询Text节点 使用text()来获取Text节点
//结果:返回的财务部数据
objNode = xmldc.SelectSingleNode("Company/Department/Department_Name/text()");
//7、查询特定条件的节点 使用[]符号来查询特定条件的节点。
//结果:返回李四的数据
objNode = xmldc.SelectSingleNode("Company/Department/Employee[@Id=\'1\']");
//结果:返回王五的数据
objNode = xmldc.SelectSingleNode("//Employee[@Id=\'2\']");
//结果:返回李四的数据
objNode = xmldc.SelectSingleNode("Company/Department/Employee/Name[text()=\'李四\']");
//结果:返回财务部数据
objNode = xmldc.SelectSingleNode("Company/Department[Employee/@Id=\'2\']/Department_Name");
//8、查询多重模式的节点
//使用 | 符号可以获得多重模式的节点。
//结果:获取到4条,分别是Department_Name2条,Manager2条。
objNodeList = xmldc.SelectNodes("Company/Department/Department_Name | Company/Department/Manager");
//9、查询任意子节点 使用*符号可以返回当前节点的所有子节点。
//结果:获取Manager2条。
objNodeList = xmldc.SelectNodes("Company/*/Manager");
//结果:返回的InnerText里,有所有的xml内容
objNodeList = xmldc.ChildNodes;
//XML数据的编辑
//增加一个元素的属性(attribute)节点
//结果:把值加到财务部里了。
XmlAttribute objNodeAttr = xmldc.CreateAttribute("id");
objNodeAttr.InnerText = "101";
objNode.Attributes.Append(objNodeAttr);
//删除一个元素的属性
objNode.Attributes.Remove(objNodeAttr);
//保存该XML文件
xmldc.Save("C:/Users/Desktop/1.xml");
//增加一个子元素(Element)(错误的,以后改)
//objNodeChild = xmldc.CreateElement(Nothing, "ID", Nothing);