C# 代码操作XML(增、删、改)
目录:
1.创建XML
1)创建普通XML
2)创建带属性的XML
2.追加XML
3.读取XML
1)读取普通XML
2)读取带属性的XML
4.修改属性的值
5.删除XML节点
作为一个小型的数据存储传递的工具——XML,大家肯定也不陌生,今天就关于XML的一些简单操作做些总结。
这些都是在控制台进行操作的·····
1.创建XML
1)创建普通XML
- static void Main(string[] args)
- {
- //通过代码来创建XML文档
- //1、引用命名空间
- //2、创建XML文档对象
- XmlDocument doc = new XmlDocument();
- //3、创建第一个行描述信息,并且添加到doc文档中
- XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
- doc.AppendChild(dec);
- //4、创建根节点
- XmlElement books = doc.CreateElement("Books");
- //将根节点添加到文档中
- doc.AppendChild(books);
- //5、给根节点Books创建子节点
- XmlElement book1 = doc.CreateElement("Book");
- //将book添加到根节点
- books.AppendChild(book1);
- //6、给Book1添加子节点
- XmlElement name1 = doc.CreateElement("Name");
- name1.InnerText = "三国演义";
- book1.AppendChild(name1);
- XmlElement price1 = doc.CreateElement("Price");
- price1.InnerText = "";
- book1.AppendChild(price1);
- XmlElement des1 = doc.CreateElement("Des");
- des1.InnerText = "好看";
- book1.AppendChild(des1);
- XmlElement book2 = doc.CreateElement("Book");
- books.AppendChild(book2);
- XmlElement name2 = doc.CreateElement("Name");
- name2.InnerText = "西游记";
- book2.AppendChild(name2);
- XmlElement price2= doc.CreateElement("Price");
- price2.InnerText = "";
- book2.AppendChild(price2);
- XmlElement des2 = doc.CreateElement("Des");
- des2.InnerText = "还不错";
- book2.AppendChild(des2);
- doc.Save("Books.xml");
- Console.WriteLine("保存成功");
- Console.ReadKey();
- }
根据代码写的,然后运行,就会得到我们想要的XML文档:
2)创建带属性的XML
- static void Main(string[] args)
- {
- XmlDocument doc = new XmlDocument();
- XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8","yes");
- doc.AppendChild(dec);
- XmlElement order = doc.CreateElement("Order");
- doc.AppendChild(order);
- XmlElement customerName = doc.CreateElement("CustomerName");
- customerName.InnerText = "张三";
- order.AppendChild(customerName);
- XmlElement customerNumber = doc.CreateElement("CustomerNumber");
- customerNumber.InnerText = "";
- order.AppendChild(customerNumber);
- XmlElement items = doc.CreateElement("Items");
- order.AppendChild(items);
- XmlElement orderItem1 = doc.CreateElement("OrderItem");
- //给节点添加属性
- orderItem1.SetAttribute("Name", "单反");
- orderItem1.SetAttribute("Count", "");
- items.AppendChild(orderItem1);
- XmlElement orderItem2 = doc.CreateElement("OrderItem");
- //给节点添加属性
- orderItem2.SetAttribute("Name", "书");
- orderItem2.SetAttribute("Count", "");
- items.AppendChild(orderItem2);
- XmlElement orderItem3 = doc.CreateElement("OrderItem");
- //给节点添加属性
- orderItem3.SetAttribute("Name", "手机");
- orderItem3.SetAttribute("Count", "");
- items.AppendChild(orderItem3);
- doc.Save("Order.xml");
- Console.WriteLine("保存成功");
- Console.ReadKey();
- }
根据代码写的,然后运行,就会得到我们想要的XML文档:
2.追加XML
- static void Main(string[] args)
- {
- //追加XML文档
- XmlDocument doc = new XmlDocument();
- XmlElement books;
- if (File.Exists("Books.xml"))
- {
- //如果文件存在 加载XML
- doc.Load("Books.xml");
- //获得文件的根节点
- books = doc.DocumentElement;
- }
- else
- {
- //如果文件不存在
- //创建第一行
- XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
- doc.AppendChild(dec);
- //创建跟节点
- books = doc.CreateElement("Books");
- doc.AppendChild(books);
- }
- //5、给根节点Books创建子节点
- XmlElement book1 = doc.CreateElement("Book");
- //将book添加到根节点
- books.AppendChild(book1);
- //6、给Book1添加子节点
- XmlElement name1 = doc.CreateElement("Name");
- name1.InnerText = "c#开发大全";
- book1.AppendChild(name1);
- XmlElement price1 = doc.CreateElement("Price");
- price1.InnerText = "";
- book1.AppendChild(price1);
- XmlElement des1 = doc.CreateElement("Des");
- des1.InnerText = "看不懂";
- book1.AppendChild(des1);
- doc.Save("Books.xml");
- Console.WriteLine("保存成功");
- Console.ReadKey();
- }
根据代码写的,然后运行,就会得到我们想要的XML文档:
3.读取XML
1)读取普通XML
- static void Main(string[] args)
- {
- XmlDocument doc = new XmlDocument();
- //加载要读取的XML
- doc.Load("Books.xml");
- //获得根节点
- XmlElement books = doc.DocumentElement;
- //获得子节点 返回节点的集合
- XmlNodeList xnl = books.ChildNodes;
- foreach (XmlNode item in xnl)
- {
- Console.WriteLine(item.InnerText);
- }
- Console.ReadKey();
- }
根据代码写的,然后运行,就会得到读取的XML结果:
2)读取带属性的XML
- static void Main(string[] args)
- {
- //读取带属性的XML文档
- XmlDocument doc = new XmlDocument();
- doc.Load("Order.xml");
- XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");
- foreach (XmlNode node in xnl)
- {
- Console.WriteLine(node.Attributes["Name"].Value);
- Console.WriteLine(node.Attributes["Count"].Value);
- }
- Console.ReadKey();
- }
根据代码写的,然后运行,就会得到读取的XML结果:
4.修改属性的值
- static void Main(string[] args)
- {
- //改变属性的值
- XmlDocument doc = new XmlDocument();
- doc.Load("Order.xml");
- XmlNode xn = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='单反']");
- xn.Attributes["Count"].Value = "";
- xn.Attributes["Name"].Value = "电脑";
- doc.Save("Order.xml");
- Console.WriteLine("保存成功");
- Console.ReadKey();
- }
根据代码写的,然后运行,就会得到修改后的XML结果:
5.删除XML节点
- static void Main(string[] args)
- {
- XmlDocument doc = new XmlDocument();
- doc.Load("Order.xml");
- XmlNode xn = doc.SelectSingleNode("/Order/Items");
- xn.RemoveAll();
- doc.Save("Order.xml");
- Console.WriteLine("删除成功");
- Console.ReadKey();
- }
根据代码写的,然后运行,就会得到修删除后的XML结果:
至此:XML简单的增删改操作就结束了·····
C# 代码操作XML(增、删、改)的更多相关文章
- 【WPF学习笔记】之如何通过后台C#代码添加(增/删/改按钮)实现对SQLServer数据库数据的更改
首先,需要连接SQLServer数据库的服务器名称server.数据库名database.数据库用户名uid以及密码pwd,如下图: 然后需要以下数据库SQL代码段,还有一个myHelper.cs代码 ...
- php5.4以上 mysqli 实例操作mysql 增,删,改,查
<?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...
- C# ADO.NET (sql语句连接方式)(增,删,改)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- [MySQL数据库之记录的详细操作:增、改、删、单表查询、多表查询]
[MySQL数据库之记录的详细操作:增.改.删.单表查询.多表查询] 记录详细操作 增.删.改 增: insert t1(字段1,字段2,字段3) values (值1,值2,值3), (值1,值2, ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
随机推荐
- 北京Uber优步司机奖励政策(2月1日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Netty示例
一,服务端 ** * 测试Netty类库:服务端代码 * Created by LiuHuiChao on 2016/10/24. */ public class NettyServerTest { ...
- kalibr论文阅读笔记
单目相机IMU标定 该论文将相机IMU标定分为两个大方面: 一. 使用基函数来估计时间偏差 二. 相机和IMU的空间位置转换 校准变量:重力.外参旋转和平移.时钟偏移.IMU位姿.加速度计偏置.陀螺仪 ...
- element-ui 分页注意事项
<template> <div id="monitor"> 一页显示 {{currentCount}}条 当前第 {{currentPage}}页 < ...
- javasript 字符串 数组操作
Javascript中经常涉及到对字符串和数组的处理,今天总结一下具体的用法 一 操作字符串 String对象有很多函数,可以以不同的方式访问和操作字符串,具体方法如下: charAt(index ...
- WEB中间件漏洞--IIS
1.iis安装 版本 一直下一步,选上iis安装 端口修改 网站目录 通过网站发布目录(发布目录任意),新建index.html页面,可以正常访问 2.iis6.0解析漏洞 (1)文件名解析 IIS在 ...
- Linux命令应用大词典-第22章 GRUB
22.1 grub-md5-crypt:使用MD5格式加密口令 22.2 grub-install:在设备上安装GRUB 22.3 grub:进入GRUB命令shell 22.4 grub-crypt ...
- 第五模块·WEB开发基础-第2章JavaScript基础
第1章 JavaScript基础 01-JavaScript历史介绍 02-JavaScript的组成 03-JavaScript的引入方式 04-变量的使用 05-基本数据类型(一) 06-基本数据 ...
- Java注解的基本原理
注解的本质就是一个继承了Annotation接口的接口,一个注解准确意义上来说,只不过是一种特殊注释而已,如果没有解析他的代码,他可能连注释都不如. 解析一个类或者方法的注解往往有两种形式,一种是编译 ...
- WCF服务库创建-20140919
1. 创建wcf服务库 2. 宿主到web程序上 // 宿主wcf服务库 RouteTable.Routes.Add(new ServiceRoute("ctserver.dll" ...