using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace XMLdemo
{
    class Program
    {
        public static string PATH = @"D:\xmlfile\1.xml";
        static void Main(string[] args)
        {
            CreatXml(PATH);
            UpdateXML(PATH);
        }
        public static void CreatXml(string path)
        {
            XmlDocument xmldoc = new XmlDocument();
            XmlNode xmlnode;
            //加入XML的声明段落
            xmlnode = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
            xmldoc.AppendChild(xmlnode);

            //加入一个根元素
            XmlElement xmlelem = xmldoc.CreateElement("", "bookstore", "");
            xmldoc.AppendChild(xmlelem);

            //加入一个子元素
            XmlElement xmlelem1 = xmldoc.CreateElement("", "books", "");
            xmlelem1.SetAttribute("genre", "", "11");
            xmlelem1.SetAttribute("ISBN", "11");
            xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1);

            //加入一个子元素
            XmlElement xmlelem2 = xmldoc.CreateElement("", "books", "");
            xmlelem2.SetAttribute("genre", "", "22");
            xmlelem2.SetAttribute("ISBN", "22");
            xmldoc.ChildNodes.Item(1).AppendChild(xmlelem2);

            //加入一个元素
            XmlElement xmlelem3 = xmldoc.CreateElement("", "jobs", "");
            xmldoc.ChildNodes.Item(1).AppendChild(xmlelem3);
            //在第三个元素下面加一个元素
            XmlElement xmlelem31 = xmldoc.CreateElement("", "job", "");
            xmlelem31.SetAttribute("work", "", "fantasy31");
            xmlelem31.SetAttribute("time", "2-3631-431");
            xmldoc.ChildNodes.Item(1).ChildNodes.Item(2).AppendChild(xmlelem31);//item(2) 2代表的是第三个节点

            xmldoc.Save(path);
        }
        public static void UpdateXML(string path)
        {
            //一种修改方式
            //XmlDocument xmldoc = new XmlDocument();
            //xmldoc.Load(path);
            //XmlNode xmlnode = xmldoc.SelectSingleNode("/bookstore/jobs/job");
            //xmlnode.Attributes["work"].Value = "我是修改";
            //xmlnode.Attributes["time"].Value = "我是修改";
            //xmldoc.Save(path);
            //第二种修改方式
            //XmlDocument xmldoc = new XmlDocument();
            //xmldoc.Load(path);
            //XmlNode xmlnode = xmldoc.ChildNodes.Item(1).ChildNodes.Item(2).ChildNodes.Item(0);
            //xmlnode.Attributes["work"].Value = "我是修改2";
            //xmlnode.Attributes["time"].Value = "我是修改2";
            //xmldoc.Save(path);
            ////删除节点

            //XmlDocument xmldoc = new XmlDocument();
            //xmldoc.Load(path);
            //xmldoc.ChildNodes.Item(1).ChildNodes.Item(2).RemoveAll();
            //xmldoc.Save(path);

            //删除其中一个元素
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(path);
            XmlNode xmlnode = xmldoc.ChildNodes.Item(1).ChildNodes.Item(2).ChildNodes.Item(0);
            xmlnode.Attributes.Item(0).RemoveAll();//删除work的值
            XmlAttribute xmlattribute = xmlnode.Attributes["work"];
            xmlnode.Attributes.Remove(xmlattribute);//删除work属性
            xmldoc.Save(path);
        }
    }
}

  

<?xml version="1.0" encoding="utf-8"?>
<bookstore>
  <books genre=" />
  <books genre=" />
  <jobs>
    <job work="fantasy31" time="2-3631-431" />
  </jobs>
</bookstore>

.net 读写xml的更多相关文章

  1. C#读写xml文件的常用方法

    已知有一个XML文件(bookshop.xml)如下: <?xml version="1.0" encoding="gb2312" ?> <b ...

  2. PHP读写XML文件的四种方法

    PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...

  3. 在.net中序列化读写xml方法的总结

    在.net中序列化读写xml方法的总结 阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命 ...

  4. Linux Shell脚本读写XML文件

    在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  5. ADO.NET 快速入门(六):读写 XML

    ADO.NET 和 DataSet 可以读写 XML Schema 和 XML.获取更多信息,请参考 How do I...Use XML and the DataSet?   DataSet 的 S ...

  6. C#_在.net中序列化读写xml方法的总结

    阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...

  7. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  8. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  9. 三种读写XML的方法

    XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...

  10. (转)在.net中序列化读写xml方法的总结

    阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...

随机推荐

  1. centos网络yum源的安装

    CentOS使用EPEL YUM源EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHE ...

  2. Ideal test 不执行main方法了

    参考:idea 导入项目后不能执行main方法 用了ideal之后,发现自己的项目里面没有test文件夹,自己建了一个,发现竟然不能执行main函数, 后来经过点播之后,才知道,光建立文件夹是没用的, ...

  3. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 4. 函数

    什么样的程序员才是优秀的程序员?咪博士认为“慵懒”的程序员才是真正优秀的程序员.听起来不合逻辑?真正优秀的程序员知道如何高效地工作,而不是用不止境的加班来完成工作任务.函数便是程序员高效工作的利器之一 ...

  4. Django-website 程序案例系列-17 forms表单验证的字段解释

    1.Django内置字段如下: Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial ...

  5. Hibernate的继承映射

    对象模型示例: 继承映射的实现方式有以下三种: (一)每棵类继承树一张表 (二)每个类一张表 (三)每个子类一张表 (一)每棵类继承树一张表 关系模型如下: 映射文件如下: <hibernate ...

  6. 关于min_25筛的一些理解

    关于min_25筛的一些理解 如果想看如何筛个普通积性函数啥的,就别往下看了,下面没有的(QwQ). 下文中,所有的\(p\)都代表质数,\(P\)代表质数集合. 注意下文中定义的最小/最大质因子都是 ...

  7. 实现 60fps 的网易云音乐首页

    网易云音乐是一款很优秀的音乐软件,我也是它的忠实用户.最近在研究如何更好的开发TableView,接着我写了一个Model驱动的小框架 - MDTable.为了去验证框架的可用性,我选择了网易云音乐的 ...

  8. 自学Linux Shell4.2-监测磁盘空间mount umount df du

    点击返回 自学Linux命令行与Shell脚本之路 4.2-监测磁盘空间mount umount  df du 1. 挂载存储媒体mount  移除存储媒体umount ls命令用于显示文件目录列表, ...

  9. 博主自传——蒟蒻的OI之路

    博主来自河北石家庄市第二中学,现在读高二,主攻信息学竞赛(其实并没有学习其他学科竞赛). NOIP中人品大爆发,使劲挤进河北省一等奖队伍,侥幸留在竞赛团队中(差点就淘汰出局啦). 关于我的ID,YOU ...

  10. 【BZOJ2875】【NOI2012】随机数生成器(矩阵快速幂)

    [BZOJ2875]随机数生成器(矩阵快速幂) 题面 Description 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Me ...