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. JavaScript——事件机制

    事件是将JavaScript脚本与网页联系在一起的主要方式,是JavaScript中最重要的主题之一,深入理解事件的工作机制以及它们对性能的影响至关重要.本文将详细介绍JavaScript的事件机制, ...

  2. python中lambda表达式中自由变量的坑,因为for循环结束了 变量还保存着,详见关于for循环的随笔

    http://blog.csdn.net/u010949971/article/details/70045537

  3. Linux系统——程序员跳槽必备

    相信在看这篇文章的你,曾经或者现在是否跳槽呢,在北上广一线城市,你是否还在挣着那可怜巴巴的工资,过着拮据生活呢?但是自己想跳槽,却没有一技之长或者是自己的技术找工作太难了,那么我建议你学习下linux ...

  4. ansible系列5-开启加速 Ansible 执行速度的功能

    SSH pipelining 是一个加速 Ansible 执行速度的简单方法.ssh pipelining 默认是关闭,之所以默认关闭是为了兼容不同的 sudo 配置,主要是 requiretty 选 ...

  5. 一个死循环导致的栈溢出实例:StackOverFlowError

    有一个功能,要用复选框组做成单选框效果,如果有三个复选框 CheckBox ,并且保证每次只能选中一个.刚开始添加了以下的值改变后的监听方法 addValueChangeListener ,却导致了栈 ...

  6. Python爬虫:HTTP协议、Requests库

    HTTP协议: HTTP(Hypertext Transfer Protocol):即超文本传输协议.URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源. HTTP协议 ...

  7. 自学Zabbix之路15.4 Zabbix数据库表结构简单解析-Expressions表、Media表、 Events表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.4 Zabbix数据库表结构简单解析-Expressions表.Medi ...

  8. 洛谷 P1121 环状最大两段子段和 解题报告

    P1121 环状最大两段子段和 题目描述 给出一段环状序列,即认为\(A_1\)和\(A_N\)是相邻的,选出其中连续不重叠且非空的两段使得这两段和最大. 输入输出格式 输入格式: 第一行是一个正整数 ...

  9. Centos7下安装python3

    1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline- ...

  10. [NOI2017]泳池——概率DP+线性递推

    [NOI2017]泳池 实在没有思路啊~~~ luogu题解 1.差分,转化成至多k的概率减去至多k-1的概率.这样就不用记录“有没有出现k”这个信息了 2.n是1e9,感觉要递推然后利用数列的加速技 ...