C#如何操作XML文件
⒈XML?
XML是一种可扩展的标记语言
具有以下特点
1.严格区分大小写
2.标签成对出现
3.有且只有一个根节点
⒉XML的创建
<?xml version="1.0" encoding="utf-8" ?>
<Order>
<CustomerName>fanqi</CustomerName>
<Items>
<OrderItem Name="Money" count="100000000000000"/>
</Items>
</Order>
public static void create()
{
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(dec); //将版本和编码信息添加到文档的第一行 XmlElement order = doc.CreateElement("Order");
doc.AppendChild(order); //添加一个根级目录 XmlElement customerName = doc.CreateElement("CustomerName");
customerName.InnerText = "fanqi"; //InnerText放文本时使用,特殊字符会转义
//customerName.InnerXml = "<h1> haha </h1>"; //InnerXml放标签时使用
order.AppendChild(customerName); XmlElement items = doc.CreateElement("Items");
order.AppendChild(items); XmlElement orderitem = doc.CreateElement("OrderItem");
orderitem.SetAttribute("Name", "Money");
orderitem.SetAttribute("count", "");
items.AppendChild(orderitem); doc.Save("fanqi.xml");
}
⒊XML追加
public static void add()
{
XmlDocument doc = new XmlDocument();
if (File.Exists("fanqi.xml"))
{
doc.Load("fanqi.xml");
XmlElement books = doc.DocumentElement; //获得文件的根节点
}
else
{
//不存在就创建呗
}
doc.Save("fanqi.xml");
}
⒋读取不带属性的XML
public static void loadNoAttribute()
{
XmlDocument doc = new XmlDocument();
if (File.Exists("fanqi.xml"))
{
doc.Load("fanqi.xml");
XmlElement order = doc.DocumentElement; //获得文件的根节点
XmlNodeList nodeList = order.ChildNodes;
foreach(XmlNode item in nodeList) //遍历输出子节点内容
{
Console.WriteLine(item.InnerText);
}
}
}
⒌读取带有属性的XML
public static void loadAttribute()
{
XmlDocument doc = new XmlDocument();
if (File.Exists("fanqi.xml"))
{
doc.Load("fanqi.xml");
XmlNodeList nodeList = doc.SelectNodes("/Order/Items/OrderItem");
foreach (XmlNode item in nodeList)
{
Console.WriteLine(item.Attributes["Name"].Value);
Console.WriteLine(item.Attributes["count"].Value);
}
}
}
⒍更改XML属性的值
public static void modifyAttribute()
{
XmlDocument doc = new XmlDocument();
if (File.Exists("fanqi.xml"))
{
doc.Load("fanqi.xml");
XmlNode xn = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='fanqi']");
xn.Attributes["count"].Value = "";
doc.Save("fanqi.xml");
}
}
⒎删除节点
public static void removeNode()
{
XmlDocument doc = new XmlDocument();
if (File.Exists("fanqi.xml"))
{
doc.Load("fanqi.xml");
XmlNode xn = doc.SelectSingleNode("/Order/Items");
xn.RemoveAll();
doc.Save("fanqi.xml");
}
}
C#如何操作XML文件的更多相关文章
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- Java操作XML文件 dom4j 篇
在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互.今天就来讲一下Java 中使用dom4j来操作XML文件. 我们需要引入的包: //文件包 import java.io. ...
- PHP操作XML文件学习笔记
原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作 ...
- Qt之QDomDocument操作xml文件-模拟ini文件存储
一.背景 不得不说Qt是一个很强大的类库,不管是做项目还是做产品,Qt自身封装的东西就已经非常全面了,我们今天的这篇文章就是模拟了Qt读写ini文件的一个操作,当然是由于一些外力原因,我们决定自己来完 ...
- JAVA中通过Jaxp操作XML文件基础
Java中有多种方式操作XML文件,目前讲一讲以SUN公司提供的DocumentBuilderFactory工厂类对象操作XML. 使用XML基本操作就是需要CRUD(增删改查),那么首先通过一个查询 ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- C#操作xml文件:使用XmlDocument 实现读取和写入
XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...
- 利用XmlDocument操作XML文件
利用XmlDocument可以方便的操作XML文件. .操作XML文件基本方法 ()添加对System.Xml的引用,并使用using语句添加引用: ()假设要读取的XML文件如下: <?xml ...
- C#基础知识---Linq操作XML文件
概述 Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术. Linq主要包含4个组件---Linq to Objects ...
- C++ 操作XML文件 使用MSXML.DLL
使用MSXML.DLL读写XML; 文件顶部加入 #import "msxml3.dll"; using namespace MSXML2; //这两句作用是,在程序的文件夹下生成 ...
随机推荐
- 【优秀的艺术文字和图标设计软件】Art Text 3.2.3 for Mac
[简介] Art Text 3.2.3 版本,这是一款Mac上简单易用的艺术文字和图标设计软件,今这款软件内置了大量的背景纹理和特效,能够让我们非常快速的制作出漂亮的图标,相比专业的PS,Art ...
- oracle 12C版本的下载安装
首先 去官网下载自己需要的oracle对应的操作系统的版本 接受协议后可下载 1 下载解压好后 进入主目录 进行安装 在配置安全更新中把我希望通过My Oracle Support接收安全更新前面的 ...
- CodeForces999E 双dfs // 标记覆盖 // tarjan缩点
http://codeforces.com/problemset/problem/999/E 题意 有向图 给你n个点,m条边,以及一个初始点s,问你至少还需要增加多少条边,使得初始点s与剩下其 ...
- InnoDB和MyISAM的区别
一.索引的实现 我们都知道InnoDB和MyISAM都是B+数的结构,但是它们的实现有点不一样,直接上图: 因此,MyISAM的查询性能会比InnoDB强 如果用InnoDB是必须有主键的,主键建议用 ...
- How-to: Do Statistical Analysis with Impala and R
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- Idea中的一些快捷键
最常用快捷键 sout 输出语句 psvm 输出main方法 fori 输出for语句 iter 输出foreach语句 Ctrl+Shift+U 大小写转换 Ctrl+Shift+Enter 补全一 ...
- cookies、sessionStorage和localStorage解释及区别
在浏览器查看 HTML4的本地存储 cookie 浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互. 一.cookie和sessio ...
- JAVA核心技术I---JAVA回顾
一:基础类型运算 大部分的指令都没有支持byte.char.short,没有任何指令支持boolean类型.编译器在编译期或者运行期将byte和short类型的数据带符号扩展为相应的int类型数据,将 ...
- 13.模板方法(Template Method)
无处不在的Template Method 如果你只想掌握一种设计模式,那么它就是Template Method!动机(Motivate): 变化 -----是软件设计的永恒主题,如何管理 ...
- ipython介绍及使用
1. IPython介绍 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能 ...