在项目中新建一个xml文件(PersonalResume.xml)如下:

<?xml version="1.0" encoding="utf-8" ?>
<PersonalResume>
  <Resume genre="fantasy" ISBN="2-3631-4">
    <title>农凤新个人简历</title>
    <Name>Sissy</Name>
    <Address>北京市宣武区马连道</Address>
    <Email>nongfengxin@163.com</Email>
    <Phone>12345678</Phone>
  </Resume>
</PersonalResume>

第一:往<PersonalResume>节点中插入一个<Resume>节点:

            string xmlFilePath = Server.MapPath("XML/PersonalResume.xml");
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(xmlFilePath);
            XmlNode root = xmlDoc.SelectSingleNode("PersonalResume");//查找<PersonalResume>
            XmlElement xe1 = xmlDoc.CreateElement("Resume");//创建一个<Resume>节点
            xe1.SetAttribute("genre", "冯瑞涛");//设置该节点genre属性
            xe1.SetAttribute("ISBN", "2-3631-4");//设置该节点ISBN属性

XmlElement xesub1 = xmlDoc.CreateElement("title");
            xesub1.InnerText = "冯瑞涛个人简历";//设置文本节点
            xe1.AppendChild(xesub1);//添加到<PersonalResume>节点中
            XmlElement xesub2 = xmlDoc.CreateElement("Name");
            xesub2.InnerText = "Anny";
            xe1.AppendChild(xesub2);
            XmlElement xesub3 = xmlDoc.CreateElement("Address");
            xesub3.InnerText = "北京市海淀区";
            xe1.AppendChild(xesub3);

XmlElement xesub4 = xmlDoc.CreateElement("Email");
            xesub4.InnerText = "nongfengxin@gmail.com";
            xe1.AppendChild(xesub4);
            XmlElement xesub5 = xmlDoc.CreateElement("Phone");
            xesub5.InnerText = "12345667";
            xe1.AppendChild(xesub5);

root.AppendChild(xe1);//添加到<Resume>节点中
            xmlDoc.Save(xmlFilePath);

第二:修改节点:将genre属性值为“冯瑞涛“的节点的genre值改为“update冯瑞涛”,将该节点的子节点<Name>的文本修改为“Lily”。

   XmlNodeList nodeList = xmlDoc.SelectSingleNode("PersonalResume").ChildNodes;//获取PersonalResume节点的所有子节点
            foreach (XmlNode xn in nodeList)//遍历所有子节点
            {
                XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
                if (xe.GetAttribute("genre") == "冯瑞涛")//如果genre属性值为“冯瑞涛”
                {
                    xe.SetAttribute("genre", "update冯瑞涛");//则修改该属性为“update冯瑞涛”

XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
                    foreach (XmlNode xn1 in nls)//遍历
                    {
                        XmlElement xe2 = (XmlElement)xn1;//转换类型
                        if (xe2.Name == "Name")//如果找到
                        {
                            xe2.InnerText = "Lily";//则修改
                            break;//找到退出来就可以了
                        }
                    }
                    break;
                }
            }

xmlDoc.Save(xmlFilePath);//保存。

第三:删除 <Resume genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <Resume genre="update冯瑞涛" ISBN="2-3631-4">节点。

 XmlNodeList xnl = xmlDoc.SelectSingleNode("PersonalResume").ChildNodes;

foreach (XmlNode xn in xnl)
            {
                XmlElement xe = (XmlElement)xn;

if (xe.GetAttribute("genre") == "fantasy")
                {
                    xe.RemoveAttribute("genre");//删除genre属性
                }
                else if (xe.GetAttribute("genre") == "update冯瑞涛")
                {
                    xe.RemoveAll();//删除该节点的全部内容
                }
            }
            xmlDoc.Save(xmlFilePath);

第四:显示所有数据

   XmlNode xno = xmlDoc.SelectSingleNode("PersonalResume");

XmlNodeList xnp = xno.ChildNodes;

foreach (XmlNode xnf in xnl)
            {
                XmlElement xe = (XmlElement)xnf;
                Console.WriteLine(xe.GetAttribute("genre"));//显示属性值
                Console.WriteLine(xe.GetAttribute("ISBN"));

XmlNodeList xnf1 = xe.ChildNodes;
                foreach (XmlNode xn2 in xnf1)
                {
                    Console.WriteLine(xn2.InnerText);//显示子节点点文本
                }
            }

源代码下载:/Files/SissyNong/XMLTest.rar

转载于:https://www.cnblogs.com/SissyNong/archive/2009/09/24/1573491.html

C#操作xml文件入门相关推荐

  1. 写了一个操作XML文件的类

    一个操作XML文件的类..部份功能在完善中~~~~ using System; using System.Collections.Generic; using System.Text; using S ...

  2. c#操作XML文件 1614260503

    c#操作XML文件 1614260503 导入命名空间 using System.Xml; 功能演示 // 实例化文件对象XmlDocument xd = new XmlDocument();// 对 ...

  3. JAVA操作xml文件

    参考:java操作xml方法,总有适合你的 XML技术在Java开发中的应用 1.简介 xml: extensible Markup Language 1.1使用场景: 不同的系统之间交互时使用xml ...

  4. Qt操作XML文件(创建,读,写,修改,添加,删除)

    XML文件在项目开发的过程中经常用的,比如配置文件基本上都是XML格式的,本文介绍在Qt环境下操作XML文件,具体用法看代码 原txt文件内容,在 http://www1.jctrans.com/to ...

  5. c++操作xml文件

    做软件的不会c++,都不好意思说自己是搞软件的.最近也开始慢慢学习c++的东西,今天就写写c++如何操作xml文件吧.我们使用的是tinyxml,有个小巧的库,可以生成和解析XML文档.免费开源,可以 ...

  6. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  7. C#实用教程-操作xml文件

    C#实用教程-操作xml文件 C#实用教程-操作xml文件 引言:什么是xml文件 Xml的特征 Xml的格式 与HTML的区别 对Xml进行操作 读取xml文件: 当前xml文件内容如下: 创建xm ...

  8. java操作XML文件--读取内容

          先把问题贴出来:编写一个可以解析xml及修改xml内容的工具类       由于我以前做过Android应用程序开发,之前也解析过xml文件,所以,这道题不是很难,这篇文章我先解决第一个问 ...

  9. BeautifulSoup操作xml文件

    BeautifulSoup操作html的介绍较为常见,可参考官方文档,常见的对xml的操作可以使用ElementTree进行操作,这里并不是介绍BeautifulSoup操作xml,对自己在一次实践中 ...

最新文章

  1. 8.继续分析一破解加密码获取-最最最简单的注册机
  2. python 并列条形图_python – 熊猫:如何绘制两个类别和四个系列的条形图?
  3. System.Web.HttpException
  4. 在sitecopy中设置不支持passive模式的ftp服务器
  5. linux 文件中搜索字符串命令 grep
  6. 逆向知识第十讲,循环在汇编中的表现形式,以及代码还原
  7. 分类(Classification)
  8. 我的第一个全栈 Web 应用程序
  9. Oracle中奇怪的【不等于号】
  10. 为什么tcp不采用停等协议_为什么 TCP 协议有粘包问题
  11. C# sqlhelper
  12. 需求跟踪矩阵和需求评审
  13. 组策略设置桌面显示计算机图标,计算机组策略应用设置大全
  14. 1024 程序员节狂欢盛会,等了一年终于来了!
  15. 学llinux的资料
  16. 给大家推荐一个软件:视频广告过滤大师
  17. 树莓派控制DS18B20温度传感器
  18. IPV6----升级点,地址分类及部分协议配置
  19. 整理 华为AP-3010DN_V2配置创建wifi
  20. 假设检验 正态总体方差的假设检验

热门文章

  1. Zip Slip目录遍历漏洞已影响多个Java项目
  2. 关于AJAX 第三篇
  3. TabBarItem图片不显示的原因
  4. Android -------GestureDetector类的用法
  5. linux每天进步一点点-7月4.5.6日
  6. LocalStorage、SessionStorage
  7. ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务-Oracle连接错误
  8. 原 c++中map与unordered_map的区别
  9. Linux文件名命名规范
  10. Linux Shell常用技巧(十二) Shell编程