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>

目录
相关文章
|
3月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
213 3
|
5月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
100 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
4月前
|
存储 缓存
.NET 6中Startup.cs文件注入本地缓存策略与服务生命周期管理实践:AddTransient, AddScoped, AddSingleton。
记住,选择正确的服务生命周期并妥善管理它们是至关重要的,因为它们直接影响你的应用程序的性能和行为。就像一个成功的建筑工地,工具箱如果整理得当,工具选择和使用得当,工地的整体效率将会大大提高。
161 0
|
12月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
229 1
|
10月前
|
Linux C# Windows
.NET使用MiniWord高效生成Word文件
.NET使用MiniWord高效生成Word文件
240 12
|
11月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
829 8
|
11月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
151 2
|
11月前
Visual Studio 快速分析 .NET Dump 文件
【11月更文挑战第10天】.NET Dump 文件是在 .NET 应用程序崩溃或出现问题时生成的,记录了应用程序的状态,包括内存对象、线程栈和模块信息。通过分析这些文件,开发人员可以定位和解决内存泄漏、死锁等问题。在 Visual Studio 中,可以通过调试工具、内存分析工具和符号加载等功能来详细分析 Dump 文件。此外,还可以使用第三方工具如 WinDbg 进行更深入的分析。
549 1
|
12月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
149 3
.NET 压缩/解压文件
【9月更文挑战第5天】在 .NET 中,可利用 `System.IO.Compression` 命名空间进行文件的压缩与解压。首先引入相关命名空间,然后通过 GZipStream 类实现具体的压缩或解压功能。下面提供了压缩与解压文件的方法示例及调用方式,便于用户快速上手操作。
153 6

热门文章

最新文章

相关课程

更多