.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 重命名节点名称 列表和数组的序列化 列表和数 ...
随机推荐
- apache自带压力测试工具ab的使用及解析
当你搭建了apache服务器并在上面部署了web网站,在网站运行前,为了使apache服务器的性能得到更好的应用,我们可以先对其进行压力测试.进行压力测试其实非常简单,我们也不用再额外下载安装什么测试 ...
- linux 下端口close_wait 过多问题
情景描述:系统产生大量“Too many open files” 原因分析:在服务器与客户端通信过程中,因服务器发生了socket未关导致的closed_wait发生,致使监听port打开的句柄数到了 ...
- 常见的HTTP报头(头参数)
本内容摘抄自<RESTful WebServices> 中文译本附录C '常见的HTTP报头'. 原文作者:Leonard Ricbardson & Sam Ruby 翻译:徐涵. ...
- codeforces510B
Fox And Two Dots CodeForces - 510B Fox Ciel 正在玩一个手机拼图游戏,被称之为 "Two Dots".基础关卡是在一个大小为 n × m的 ...
- linux shell脚本报错总结
1 rizhi.sh: line 28: warning: here-document at line 9 delimited by end-of-file (wanted `EOF') 原因是末尾 ...
- es6箭头函数内部判断
ES6闭包内部判断 需要判断i值和数组长度的关系,一旦大于i归0 未加入判断 setInterval((i => (() =>( this.$refs.danmu.render(ret.d ...
- Dining POJ - 3281
题意: f个食物,d杯饮料,每个牛都有想吃的食物和想喝的饮料,但食物和饮料每个只有一份 求最多能满足多少头牛.... 解析: 一道简单的无源汇拆点最大流 无源汇的一个最大流,先建立超级源s和超级汇 ...
- startSSL 申请免费的SSL证书
打开网址https://www.startssl.com/?app=12,选择Sign-up注册. 输入个人注册信息 需注意以下几点:(1)地址必须详细,否则你会收到这样的邮件: Please pro ...
- Leetcode 7.反转整数 By Python
给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假 ...
- BZOJ 4785 [Zjoi2017]树状数组 | 二维线段树
题目链接 BZOJ 4785 题解 这道题真是令人头秃 = = 可以看出题面中的九条可怜把求前缀和写成了求后缀和,然后他求的区间和却仍然是sum[r] ^ sum[l - 1],实际上求的是闭区间[l ...