C#对XML操作:写入一笔XML记录(1)

类别:.NET开发 点击:0 评论:0 推荐:
C#操作XML初步(4)第二章:往现有XML文件添加记录
我们可以根据XML结构挨个节点、属性的添加。
在测试当中,我们假设原XML文件如下:
<?xml version="1.0" encoding="gb2312"?> <users> <user id="1"> <userName>outrace</userName> <userPass>mypass</userPass> </user> <user id="2"> <userName>trace</userName> <userPass>mypass</userPass> </user> </users>
则通过下面的代码进行写入操作 <% @ Import Namespace="System.IO" %> <% @ Import Namespace="System.Xml" %> <Script Language="C#" Debug="true" Runat="Server"> public void Page_Load(Object src,EventArgs e) { /* * 版 权 : copyright by SEM IT DEPARTMENT * 版 本 : version 0.0.1 * 文 件 : InsertXml_1.aspx * 用 途 : 往XML当中新增记录 * 作 者 : 欧阳云天 @2005-4-7 * 邮 箱 : [email protected] * 修 改 : */ String fileName; fileName = "users_1.xml"; try { //先建立一个XML DOM XmlDocument doc = new XmlDocument(); //读入XML文件 doc.Load(Server.MapPath("./files/")+fileName); //建立一个节点。 XmlElement newUser = doc.CreateElement("user"); //建立一个属性,并将次属性放置在接点 “newUser” 下 XmlAttribute newID = doc.CreateAttribute("id"); newID.InnerText = "3"; newUser.SetAttributeNode(newID); //建立一个节点,并将此做为“newUser”的子节点 XmlElement newUserName = doc.CreateElement("userName"); newUserName.InnerText = "新增用户名"; newUser.AppendChild(newUserName); //建立一个节点,并将此做为“newUser”的子节点 XmlElement newUserPass = doc.CreateElement("userPass"); newUserPass.InnerText = "新增密码"; newUser.AppendChild(newUserPass); //将节点“newUser”放在根节点下,并保存 doc.DocumentElement.AppendChild(newUser); doc.Save(Server.MapPath("./files/")+fileName); //我的文件是放在同目录的file文件夹下的 } catch(Exception ex) { Response.Write(ex.Message); } finally { } } </script> <html> <head> <title>插入一条数据</title> </head> <body> <form runat="server"> <b>XML数据写入成功,文件的内容为:</b> <p><asp:Xml id="myUser" DocumentSource="./files/users_1.xml" runat="server"/></p> </form> </body> </html> 通过上面的操作,我们将得到的XML结果如下:
<?xml version="1.0" encoding="gb2312"?> <users> <user id="1"> <userName>outrace</userName> <userPass>mypass</userPass> </user> <user id="2"> <userName>trace</userName> <userPass>mypass</userPass> </user> <user id="3"> <userName>新增用户名</userName> <userPass>新增密码</userPass> </user> </users> 从中我们不难看出,使用C#中的DOM对象,我们可以非常灵活的在XML的任何位置添加任何属性、节点。使用起来非常方便

本文地址:http://com.8s8s.com/it/it41122.htm