open xml 开发 一个生成xml的例子
private XmlDocument xmlDoc; //load xml file 5 private void LoadXml() 6 { 7 xmlDoc=new XmlDocument(); 8 xmlDoc.Load("User.xml"); 9 } 10 //添加节点 11 private void AddElement() 12 { 13 LoadXml(); 14 XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user"); 15 XmlElement el=xmlDoc.CreateElement("person"); //添加person节点 16 el.SetAttribute("name","风云"); //添加person节点的属性"name" 17 el.SetAttribute("sex","女"); //添加person节点的属性 "sex" 18 el.SetAttribute("age","25"); //添加person节点的属性 "age" 19 XmlElement xesub1=xmlDoc.CreateElement("pass"); //添加person节点的里的节点 20 xesub1.InnerText="123";//设置文本节点 21 el.AppendChild(xesub1); 22 XmlElement xesub2=xmlDoc.CreateElement("Address"); 23 xesub2.InnerText="昆明";//设置文本节点 24 el.AppendChild(xesub2); 25 xmldocSelect.AppendChild(el); 26 xmlDoc.Save(Server.MapPath("user.xml")); 27 } 28 //修改节点 29 private void UpdateElement() 30 { 31 LoadXml(); 32 XmlNodeList nodeList=xmlDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点 33 foreach(XmlNode xn in nodeList)//遍历所有子节点 34 { 35 XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 36 if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云” 37 { 38 xe.SetAttribute("name","发明"); 39 //如果下面有子节点在下走 40 XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 41 foreach(XmlNode xn1 in nls)//遍历 42 { 43 XmlElement xe2=(XmlElement)xn1;//转换类型 44 if(xe2.Name=="pass")//如果找到 45 { 46 xe2.InnerText="66666";//则修改 47 break; 48 } 49 } 50 break; 51 } 52 } 53 xmlDoc.Save(Server.MapPath("user.xml"));//保存 54 } 55 //删出节点 56 private void deleteNode() 57 { 58 LoadXml(); 59 XmlNodeList xnl=xmlDoc.SelectSingleNode("user").ChildNodes; 60 foreach(XmlNode xn in xnl) 61 { 62 XmlElement xe=(XmlElement)xn; 63 if(xe.GetAttribute("name")=="发明") 64 { 65 //xe.RemoveAttribute("name");//删除name属性 66 xe.RemoveAll();//删除该节点的全部内容 67 break; 68 } 69 } 70 xmlDoc.Save(Server.MapPath("user.xml"));//保存 71 } 72 73 private void showIt() 74 { 75 LoadXml(); 76 XmlNode xn=xmlDoc.SelectSingleNode("user"); 77 XmlNodeList xnl=xn.ChildNodes; 78 foreach(XmlNode xnf in xnl) 79 { 80 XmlElement xe=(XmlElement)xnf; 81// Console.WriteLine(xe.GetAttribute("name"));//显示属性值 82// Console.WriteLine(xe.GetAttribute("sex")); // 83// XmlNodeList xnf1=xe.ChildNodes; 84// foreach(XmlNode xn2 in xnf1) 85// { 86// Console.WriteLine(xn2.InnerText);//显示子节点点文本 87// } 88 } 89 } 90 91Xml的样式: 92<?xml version="1.0" encoding="gb2312"?> 93<user> 94<person> 95</person> 96<person name="风拉" sex="男" age="25"> 97 <pass>123</pass> 98 <Address>大明</Address> 99</person> 100<person name="风云" sex="女" age="25"> 101 <pass>123</pass> 102 <Address>昆明</Address> 103</person> 104</user> 摘
posted on 2010-07-19 17:48 blue skies 阅读(336) 评论(0) 编辑 收藏 举报