asp.net操作xml增删改示例分享

所属分类: 网络编程 / ASP.NET 阅读数: 759
收藏 0 赞 0 分享

复制代码 代码如下:

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>

更多精彩内容其他人还在看

ASP.NET 水晶报表打印功能实现代码

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印
收藏 0 赞 0 分享

ASP.Net 图片存入数据库的实现代码

在很多时候,我们有这样的需求:把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
收藏 0 赞 0 分享

让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)

Microsoft Expression Blend 2 制作动画个人感觉倒像3DMAX 可以自动捕捉关键帧
收藏 0 赞 0 分享

asp.net Reporting Service在Web Application中的应用

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。
收藏 0 赞 0 分享

C# 文件上传 默认最大为4M的解决方法

.net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢
收藏 0 赞 0 分享

asp.net 购物车实现详细代码

asp.net 购物车实现详细代码
收藏 0 赞 0 分享

asp.net repeater实现批量删除时注册多选框id到客户端

repeater批量删除时注册多选框id到客户端的实现代码
收藏 0 赞 0 分享

asp.net aspnetpager分页统计时与实际不符的解决办法

最近分页方面根据实际需要修改了一些函数
收藏 0 赞 0 分享

iis 服务器应用程序不可用的解决方法

访问页面时提示 服务器应用程序不可用,大家可以按照下面的方法重新注册下,应该能好点
收藏 0 赞 0 分享

asp.net button 绑定多个参数

asp.net button 绑定多个参数的代码
收藏 0 赞 0 分享
查看更多