c#史上最简单读写xml文件方式,创建控制台应用程序赋值代码,就可以运行,需要改动,请自行调整
使用系统; 使用System.Collections.Generic; 使用先; 使用来; 使用text; 使用System.Threading.Tasks; 使用System.Xml; 名称空间ConsoleApp1 { 类项目 { 公共常量字符串xmlPath=癷nfo.xml”; 静态void Main (string [] args) { IDictionary<字符串,List在(); 信息。Add(“伊万”,新的List () {" 123 ", " 456 "}); SaveXML(信息); ReadXML (); Console.ReadKey (); } 公共静态孔隙SaveXML (IDictionary<字符串,List 比;信息) { 如果(信息==null | |信息。数==0) { 返回; } XmlDocument xmlDoc=new XmlDocument (); XmlDeclaration 12月=xmlDoc.CreateXmlDeclaration (“1.0”,“utf - 8”, null); xmlDoc.AppendChild(12月); XmlElement _infos=xmlDoc.CreateElement(“信息”); foreach (KeyValuePair<字符串,List 比;项信息) { XmlElement信息=xmlDoc.CreateElement(“信息”); XmlElement name=xmlDoc.CreateElement (file1); 的名字。InnerText=item.Key实现; info.AppendChild(名称); XmlNode文件列表=xmlDoc.CreateElement(“文件列表”); info.AppendChild(文件列表); 在item.Value foreach(字符串) { XmlElement提起=xmlDoc.CreateElement(“提交”); 提起。InnerText=实现数量; filelist.AppendChild(提交); } _infos.AppendChild(信息); } xmlDoc.AppendChild (_infos); xmlDoc.Save (xmlPath); } 公共静态IDictionary<字符串,List 比;ReadXML () { IDictionary<字符串,List 在(); 如果(File.Exists (xmlPath)) { XmlDocument xmlDoc=new XmlDocument (); xmlDoc.Load (xmlPath); XmlNode xn=xmlDoc.SelectSingleNode(“信息”); XmlNodeList xnl=xn.ChildNodes; foreach (XmlNode xnf xnl) { XmlElement xe=(XmlElement) xnf; XmlNode nameNode=xe.SelectSingleNode (file1); 字符串名称=nameNode.InnerText; Console.WriteLine(名称); XmlNode文件列表=xe.SelectSingleNode(“文件列表”); List 列表=new List (); foreach (filelist.ChildNodes XmlNode项) { list.Add (item.InnerText); } 信息。添加(名称、列表); } } 返回信息; } } }
实例代码
昏暗的domxmldocument system.xml.xmldocument 昏暗的tmppath=apptempfilepath作为字符串 昏暗的xmlfile作为字符串=tmppath + " \ testxml.xml " “窗体加载事件 私人子testxml_load(按值传递发送方系统。对象,按值传递e system.eventargs)处理mybase.load “读xml过程测试通过 昏暗的domxmldocument system.xml.xmldocument 昏暗的tmppath=apptempfilepath作为字符串 昏暗的xmlfile作为字符串=tmppath + " \ testxml.xml " system.xml昏暗的读者。xmlreader=什么 试一试 读者=new xml.xmltextreader (xmlfile) 的读者。 虽然reader.read me.lboxxml.items.add (reader.name + reader.value) 结束时 捕获作为交货异常 对话框(ex.message) 最后 如果不是(读者是什么) reader.close () 如果 最后试一试 终止子 “载入xml事件 私人子btnxmlload_click(按值传递发送方系统。对象,按值传递e system.eventargs)处理btnxmlload.click “me.lboxxml.items.clear () “读xml过程测试通过 “system.xml昏暗的读者。xmlreader=什么 “试一试 “读者=new xml.xmltextreader (xmlfile) 虽然reader.read “me.lboxxml.items.add (reader.name +“:”+ reader.value) “而终结 “赶交货异常 ”对话框(ex.message) “最后 如果不是(读者是什么) “reader.close () “如果终结 的尝试 昏暗的ds作为新的数据集 试一试 “如果直接使用ds做数据源则不会展开datagrid,用dv则能直接显示正确。 ds.readxml (xmlfile) 昏暗的结核病作为数据表 昏暗的dv dataview 结核?ds.tables (0) dv=new dataview (tb) datagrid1。数据源=dv “datagrid1。数据成员=" testxmlmember " “datagrid1。数据成员=" employeefname " “暗dxd新xmldatadocument 捕获作为交货异常 对话框(ex.message.tostring) 最后试一试 终止子 “保存新xml内建容事件 私人子btnsavenew_click(按值传递发送方系统。对象,按值传递e system.eventargs)处理btnsavenew.click 昏暗的mytw \ testxmlwrite新xmltextwriter (tmppath +”。xml”,没有什么) mytw.writestartdocument () mytw。格式化=formatting.indented mytw.writestartelement(“团队”) mytw.writestartelement(“球员”) mytw。writeattributestring(“名称”,“乔治zip”) mytw。writeattributestring(“位置”、“qb”) mytw。writeelementstring(“昵称”、“活泼的”) mytw。writeelementstring (“jerseynumber xmlconvert.tostring (7)) mytw.writeendelement () mytw.writeendelement () mytw.writeenddocument () mytw.close () 子c#读写XML文件实例代码