.net 读写xml
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的更多相关文章
- C#读写xml文件的常用方法
已知有一个XML文件(bookshop.xml)如下: <?xml version="1.0" encoding="gb2312" ?> <b ...
- PHP读写XML文件的四种方法
PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...
- 在.net中序列化读写xml方法的总结
在.net中序列化读写xml方法的总结 阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命 ...
- Linux Shell脚本读写XML文件
在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...
- ADO.NET 快速入门(六):读写 XML
ADO.NET 和 DataSet 可以读写 XML Schema 和 XML.获取更多信息,请参考 How do I...Use XML and the DataSet? DataSet 的 S ...
- C#_在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
- Java 读写XML文件 API--org.dom4j
om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...
- Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件
Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...
- 三种读写XML的方法
XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...
- (转)在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
随机推荐
- JavaScript——事件机制
事件是将JavaScript脚本与网页联系在一起的主要方式,是JavaScript中最重要的主题之一,深入理解事件的工作机制以及它们对性能的影响至关重要.本文将详细介绍JavaScript的事件机制, ...
- python中lambda表达式中自由变量的坑,因为for循环结束了 变量还保存着,详见关于for循环的随笔
http://blog.csdn.net/u010949971/article/details/70045537
- Linux系统——程序员跳槽必备
相信在看这篇文章的你,曾经或者现在是否跳槽呢,在北上广一线城市,你是否还在挣着那可怜巴巴的工资,过着拮据生活呢?但是自己想跳槽,却没有一技之长或者是自己的技术找工作太难了,那么我建议你学习下linux ...
- ansible系列5-开启加速 Ansible 执行速度的功能
SSH pipelining 是一个加速 Ansible 执行速度的简单方法.ssh pipelining 默认是关闭,之所以默认关闭是为了兼容不同的 sudo 配置,主要是 requiretty 选 ...
- 一个死循环导致的栈溢出实例:StackOverFlowError
有一个功能,要用复选框组做成单选框效果,如果有三个复选框 CheckBox ,并且保证每次只能选中一个.刚开始添加了以下的值改变后的监听方法 addValueChangeListener ,却导致了栈 ...
- Python爬虫:HTTP协议、Requests库
HTTP协议: HTTP(Hypertext Transfer Protocol):即超文本传输协议.URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源. HTTP协议 ...
- 自学Zabbix之路15.4 Zabbix数据库表结构简单解析-Expressions表、Media表、 Events表
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.4 Zabbix数据库表结构简单解析-Expressions表.Medi ...
- 洛谷 P1121 环状最大两段子段和 解题报告
P1121 环状最大两段子段和 题目描述 给出一段环状序列,即认为\(A_1\)和\(A_N\)是相邻的,选出其中连续不重叠且非空的两段使得这两段和最大. 输入输出格式 输入格式: 第一行是一个正整数 ...
- Centos7下安装python3
1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline- ...
- [NOI2017]泳池——概率DP+线性递推
[NOI2017]泳池 实在没有思路啊~~~ luogu题解 1.差分,转化成至多k的概率减去至多k-1的概率.这样就不用记录“有没有出现k”这个信息了 2.n是1e9,感觉要递推然后利用数列的加速技 ...