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. 【Mysql】—— 索引的分类

    注意:索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引.MyISAM和InnoDB存储引擎:只支持BTREE索引,也就是说默认使用BTREE,不能够更换.MEMORY/HEAP存储引 ...

  2. Bootstrap缩略图

    前面的话 缩略图在网站中最常用的地方就是产品列表页面,一行显示几张图片,有的在图片底部(左侧或右侧)带有标题.描述等信息.Bootstrap框架将这一部独立成一个模块组件,本文将详细介绍Bootstr ...

  3. BZOJ3750[POI2015]Pieczęć——链表

    题目描述 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色. 你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上的图案.印的过程中需要满足以下要求: ...

  4. HDU4287-STL模拟水题

    一场2012天津网络预选赛的题,签到题. 但是还是写了三四十分钟,C++和STL太不熟悉了,总是编译错误不知道怎么解决. 一开始用的Char [] 后来改成了string,STL和string搭配起来 ...

  5. volatile的内存语义

    volatile的特性 理解volatile特性的一个好方法是把对volatile变量的单个读/写,堪称是使用同一个锁对这些单个读/写操作做了同步. 锁的happens-before规则保证释放锁和获 ...

  6. service的生命周期

    Managing the Lifecycle of a Service service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的s ...

  7. java后端面试

    背景:最近在找工作,但是发现每次找的时候都需要整理一些基础知识,这些点又是面试过程中经常被问到的,每次都进行整理很麻烦,所以有打算好好总结下. 转载自:https://www.cnblogs.com/ ...

  8. javascript高级程序设计第一章有感

    第一章JavaScript简介 Javascript的诞生最早是为了处理表单数据验证的问题,以前主要是使用perl这个强大的服务端脚本语言处理的.在未诞生javascript之前, 人们每次提交表单就 ...

  9. linux 一些命令(2)

    1.查看centos版本 # lsb_release -a 2.查找大于1000M的文件 find / -type f -size +1000M -print0 | xargs -0 du –h

  10. ADO.NET入门教程(五) 细说数据库连接池

    摘要 今天我要讲的是数据库连接池.说实话,我表示鸭梨很大.因为相比其他章节来说,连接池相对来说难理解一点.我要用最通俗的语句给大家讲明白,讲透彻却也不是一件很容易的事.但是,连接池又是非常重要的知识点 ...