热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET对XML文件的基本操作

XML文件格式:
XML文件格式:





 

    1

   
北京


 


 

    2

   
昆明


 






ASP.NET对XML文件的基本操作:

加载:

        XmlDocument xmlDoc = new XmlDocument();

        xmlDoc.Load(Server.MapPath("user.xml"));



插入:

        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"));



修改:

        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"));//保存



删除:

        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();//删除该节点的全部内容

                xe.ParentNode.RemoveChild(xe);

                break;

            }

        }

        xmlDoc.Save(Server.MapPath("user.xml"));//保存



读取:

        XmlNode xn = xmlDoc.SelectSingleNode("user");

        XmlNodeList xnl = xn.ChildNodes;

        foreach (XmlNode xnf in xnl)

        {

            XmlElement xe = (XmlElement)xnf;

            Response.Write(xe.GetAttribute("name"));//显示属性值

            Response.Write(xe.GetAttribute("sex"));



            XmlNodeList xnf1 = xe.ChildNodes;

            foreach (XmlNode xn2 in xnf1)

            {

                Response.Write(xn2.InnerText);//显示子节点点文本

            }

        }










推荐阅读
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有