C# 创建,读取,写入XML文件
程序员文章站
2023-11-18 20:29:22
xml文件如下:
xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <advertisements> <ad> <imageurl>001.jpg</imageurl> <navigateurl>001.aspx</navigateurl> <impressions>10</impressions> <keyword>gucas01</keyword> </ad> <ad> <imageurl>002.jpg</imageurl> <navigateurl>002.aspx</navigateurl> <impressions>20</impressions> <keyword>gucas02</keyword> </ad> <ad> <imageurl>003.jpg</imageurl> <navigateurl>003.aspx</navigateurl> <impressions>30</impressions> <keyword>gucas03</keyword> </ad> <ad> <imageurl>004.jpg</imageurl> <navigateurl>004.aspx</navigateurl> <impressions>40</impressions> <keyword>gucas04</keyword> </ad> <ad> <imageurl>005.jpg</imageurl> <navigateurl>005.aspx</navigateurl> <impressions>50</impressions> <keyword>gucas05</keyword> </ad> <ad> <imageurl>google.gif</imageurl> <navigateurl>http://www.google.com</navigateurl> <impressions>30</impressions> <keyword>google</keyword> </ad> </advertisements>
对xml文件的操作
/// <summary> /// 创建xml文件 /// </summary> /// <param name="filename"></param> public void createxmlfile(string filename) { xmldocument xmldoc = new xmldocument(); xmlnode node; node = xmldoc.createxmldeclaration("1.0", "utf-8", null); xmldoc.appendchild(node); xmlnode root = xmldoc.createelement("users"); xmldoc.appendchild(root); createnode(xmldoc, root, "username", "zhengyd"); createnode(xmldoc, root, "email", "zhengyd@gucas.ac,cn"); createnode(xmldoc, root, "url", "www.gucas.an,cn"); createnode(xmldoc, root, "age", "27"); try { xmldoc.save(server.mappath(filename)); response.write("创建xml文件myxml.xml成功!"); } catch (exception ex) { response.write(ex.message); } } /// <summary> /// 写入xml文件 /// </summary> /// <param name="file"></param> public void writexmlfile(string file) { xmldocument xmdoc = new xmldocument(); try { xmdoc.load(server.mappath(file)); xmlnode root = xmdoc.selectsinglenode("advertisements"); if (root != null) { xmlnode node = xmdoc.createnode(xmlnodetype.element, "ad", null); createnode(xmdoc, node, "imageurl", "google.gif"); createnode(xmdoc, node, "navigateurl", "http://www.google.com"); createnode(xmdoc, node, "impressions", "30"); createnode(xmdoc, node, "keyword", "google"); root.appendchild(node); } xmdoc.save(server.mappath(file)); response.write("写入xml文件xmlfile.xml成功。<br>"); } catch(exception ex) { response.write(ex.message); } } /// <summary> /// 创建节点 /// </summary> /// <param name="xmldoc"></param> /// <param name="parentnode"></param> /// <param name="name"></param> /// <param name="value"></param> public void createnode(xmldocument xmldoc, xmlnode parentnode, string name, string value) { xmlnode node = xmldoc.createnode(xmlnodetype.element, name, null); node.innertext = value; parentnode.appendchild(node); } /// <summary> /// 读取xml文件 /// </summary> /// <param name="file"></param> private void readfile(string file) { xmldocument xmldoc = new xmldocument(); try { xmldoc.load(server.mappath(file)); xmlnode node = xmldoc.selectsinglenode("advertisements"); if (node != null) { treenode root = new treenode(); root.text = node.name; tvxml.nodes.add(root); foreach (xmlnode xnode in xmldoc.selectnodes("advertisements/ad")) { treenode tnode = new treenode(); tnode.text = server.htmlencode("<" + xnode.name + ">"); root.childnodes.add(tnode); foreach (xmlnode xcnode in xnode.childnodes) { treenode tcnode = new treenode(); tcnode.text = server.htmlencode("<" + xcnode.name + ">" + xcnode.innertext + "</" + xcnode.name + ">"); tnode.childnodes.add(tcnode); } treenode ttnode = new treenode(); ttnode.text = server.htmlencode("</" + xnode.name + ""); root.childnodes.add(ttnode); } treenode tpnode = new treenode(); tpnode.text = server.htmlencode("</" + node.name + ">"); tvxml.nodes.add(tpnode); } } catch (exception ex) { response.write(ex.message); } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
上一篇: 读懂服务器日志快速超越竞争对手