设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

asp.net 操作xml

作者:佚名 出处:网络转载 时间:11-20 点击:

内容载入中...
     ASP.net 对XML文件的读写,添加,修改,删除操作
  下面有代码调试正确
  
  using System;
  using System.Collections;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Web;
  using System.Web.SessionState;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HTMLControls;
  using System.XML;
  private XMLDocument XMLDoc;
  
   //load XML file
   private void LoadXML()
   {
   XMLDoc=new XMLDocument();
   XMLDoc.Load(Server.MapPath("User.XML"));
   }
  
  
   //添加节点
   private void AddElement()
   {
  
   LoadXML();
  
   XMLNode XMLdocSelect=XMLDoc.SelectSingleNode("user");
  
   XMLElement el=XMLDoc.CreateElement("person"); //添加person节点
   el.SetAttribute("name","风云"); //添加person节点的属性"name"
   el.SetAttribute("sex","女"); //添加person节点的属性 "sex"
   el.SetAttribute("age","25"); //添加person节点的属性 "age"
  
   XMLElement xesub1=XMLDoc.CreateElement("pass"); //添加person节点的里的节点
   xesub1.InnerText="123";//设置文本节点
   el.AppendChild(xesub1);
   XMLElement xesub2=XMLDoc.CreateElement("Address");
   xesub2.InnerText="昆明";//设置文本节点
   el.AppendChild(xesub2);
  
   XMLdocSelect.AppendChild(el);
   XMLDoc.Save(Server.MapPath("user.XML"));
  
  
   }
  
  
  
  
   //修改节点
   private void UpdateElement()
   {
   LoadXML();
   XMLNodeList nodeList=XMLDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点
   foreach(XMLNode xn in nodeList)//遍历所有子节点
   {
   XMLElement xe=(XMLElement)xn;//将子节点类型转换为XMLElement类型
   if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云”
   {
   xe.SetAttribute("name","发明");
  
  
   //如果下面有子节点在下走
   XMLNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
   foreach(XMLNode xn1 in nls)//遍历
   {
   XMLElement xe2=(XMLElement)xn1;//转换类型
   if(xe2.Name=="pass")//如果找到
   {
   xe2.InnerText="66666";//则修改
   break;
  
   }
   }
  
   break;
   }
   }
   XMLDoc.Save(Server.MapPath("user.XML"));//保存
   }
  
  
   //删出节点
   private void deleteNode()
   {
  
   LoadXML();
   XMLNodeList xnl=XMLDoc.SelectSingleNode("user").ChildNodes;
  
   foreach(XMLNode xn in xnl)
   {
   XMLElement xe=(XMLElement)xn;
  
   if(xe.GetAttribute("name")=="发明")
   {
   //xe.RemoveAttribute("name");//删除name属性
   xe.RemoveAll();//删除该节点的全部内容
  
  
   break;
   }
  
   }
   XMLDoc.Save(Server.MapPath("user.XML"));//保存
   }
  
   private void showIt()
   {
   LoadXML();
   XMLNode xn=XMLDoc.SelectSingleNode("user");
  
   XMLNodeList xnl=xn.ChildNodes;
  
   foreach(XMLNode xnf in xnl)
   {
   XMLElement xe=(XMLElement)xnf;
  // Console.WriteLine(xe.GetAttribute("name"));//显示属性值
  // Console.WriteLine(xe.GetAttribute("sex"));
  //
  // XMLNodeList xnf1=xe.ChildNodes;
  // foreach(XMLNode xn2 in xnf1)
  // {
  // Console.WriteLine(xn2.InnerText);//显示子节点点文本
  // }
  
   }
  
   }
  
  XML的样式:
  <?xml version="1.0" encoding="gb2312"?>
  <user>
   <person>
   </person>
   <person name="风拉" sex="男" age="25">
   <pass>123</pass>
   <Address>大明</Address>
   </person>
   <person name="风云" sex="女" age="25">
   <pass>123</pass>
   <Address>昆明</Address>
   </person>
  </user>
  http://www.cnblogs.com/cfam/archive/2006/11/17/563441.HTML
  
  
    。

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息