.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 重命名节点名称 列表和数组的序列化 列表和数 ...
随机推荐
- MySQL分区管理
以下是我看MySQL官方文档的时候整理的笔记,仅作参考保留. RANGE,LIST分区管理 1:为未分区表创建分区 ; 2:删除某个分区的数据 ALTER TABLE tr DROP PARTITIO ...
- 51nod蜥蜴与地下室(1498)(暴力搜索)
题意:一个数组s,再给你a,b值,除了s1和sn外,你可以攻击其他元素,你对这个元素的伤害为a,那么他两边的元素会受到b的牵连伤害,si-a,si-1-b,si+1-b: 求最小的次数,使得这个数组的 ...
- 使用nexus搭建maven私服教程详解
私服是什么 私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视.Nexus是常用的私用Maven服务器,一般是公司内部使用.下载地址是http://www.sona ...
- hdu 3727 Jewel (可持久化线段树+bit)
链接: http://acm.hdu.edu.cn/showproblem.php?pid=3727 题意: 对一段序列进行四种操作: Insert x :在序列尾部插入一个x: Query_1 s ...
- 洛谷 P1078 文化之旅 解题报告
P1078 文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能 ...
- 经典的GDB调试命令
在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据.print命令的格式是: printprint /是表达式,是你所调试的程 ...
- WCF快速搭建Demo
WCF快速搭建Demo ps:本Demo只是演示如何快速建立WCF 1.首先完成IBLL.BLL.Model层的搭建,由于数据访问层不是重点,WCF搭建才是主要内容,所以本Demo略去数据访问层. 新 ...
- 【洛谷P1463】反素数
题目大意:给定 \(N < 2e9\),求不超过 N 的最大反素数. 题解: 引理1:不超过 2e9 的数的质因子分解中,最多有 10 个不同的质因子,且各个质因子的指数和不超过30. 引理2: ...
- JAVA注释的另一种神奇用法
每个JAVA程序员在写程序的时候一定都会用到注释,本篇博客不是讲怎么定义注释,而是说明注释神奇的一种写法. /** * 这是一个测试类 */ public class Test { /** * 程序的 ...
- 理解for循环
先给大家出一个小题目,看看最终我们的i的值是多少? for(var i=0;i<10;i+=2){ if(i<=5){ i++; continue; }else{ i--; break; ...