⒈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文件的更多相关文章

  1. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  2. Java操作XML文件 dom4j 篇

    在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互.今天就来讲一下Java 中使用dom4j来操作XML文件. 我们需要引入的包: //文件包 import java.io. ...

  3. PHP操作XML文件学习笔记

    原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作 ...

  4. Qt之QDomDocument操作xml文件-模拟ini文件存储

    一.背景 不得不说Qt是一个很强大的类库,不管是做项目还是做产品,Qt自身封装的东西就已经非常全面了,我们今天的这篇文章就是模拟了Qt读写ini文件的一个操作,当然是由于一些外力原因,我们决定自己来完 ...

  5. JAVA中通过Jaxp操作XML文件基础

    Java中有多种方式操作XML文件,目前讲一讲以SUN公司提供的DocumentBuilderFactory工厂类对象操作XML. 使用XML基本操作就是需要CRUD(增删改查),那么首先通过一个查询 ...

  6. WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)

    WebAPI调用笔记   前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...

  7. C#操作xml文件:使用XmlDocument 实现读取和写入

    XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...

  8. 利用XmlDocument操作XML文件

    利用XmlDocument可以方便的操作XML文件. .操作XML文件基本方法 ()添加对System.Xml的引用,并使用using语句添加引用: ()假设要读取的XML文件如下: <?xml ...

  9. C#基础知识---Linq操作XML文件

    概述 Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术. Linq主要包含4个组件---Linq to Objects ...

  10. C++ 操作XML文件 使用MSXML.DLL

    使用MSXML.DLL读写XML; 文件顶部加入 #import "msxml3.dll"; using namespace MSXML2; //这两句作用是,在程序的文件夹下生成 ...

随机推荐

  1. 位掩码(BitMask)的介绍与使用

    一.前言 位运算在我们实际开发中用得很少,主要原因还是它对于我们而言不好读.不好懂.也不好计算,如果不经常实践,很容易就生疏了.但实际上,位运算是一种很好的运算思想,它的优点自然是计算快,代码更少. ...

  2. BZOJ4627 前缀和 + 权值线段树

    https://www.lydsy.com/JudgeOnline/problem.php?id=4627 题意:求序列中和在L到R之间的字串种数. 要求的是和的范围,我们可以考虑先求一个前缀和pre ...

  3. USB_4大描述符

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/aaa6695798/archive/2009/11/06/4776202.aspx 在USB描述符中,从上到下分为四个 ...

  4. Java_异常处理误区

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-exception-misdirection/index.html 本文着重介绍了 Java 异常 ...

  5. 面向对象【day08】:异常处理(六)

    本节内容 1.概述 2.异常梳理 3.异常梳理流程图 4.异常大全 5.自定义异常 一.概述 异常处理是当程序出错了,但是我们又不想让用户看到这个错误,而且我在写程序的时候已经预料到了它可以出现这样的 ...

  6. CentOS7用Mono和MonoDevelop写C#程序

    MonoDevelop 是个Linux平台上的开放源代码集成开发环境,主要用来开发Mono与.NET Framework软件. MonoDevelop 整合了很多Eclipse与Microsoft V ...

  7. HDU - 6313 Hack It(构造)

    http://acm.hdu.edu.cn/showproblem.php?pid=6313 题意 让你构造一个矩阵使得里面不存在四个顶点都为1的矩形,并且矩阵里面1的个数要>=85000 分析 ...

  8. 关于Ant脚本

    在开发中,一个项目要经历单元测试l,集成测试,系统测试,测试过程中可能要不断修改代码,Ant脚本,通过一个xml文件,封装一系列繁琐又常用的操作,通过Ant指令执行xml脚本来批处理创建删除任务,编译 ...

  9. openstack服务启动之nova-compute

    在openstack中,消息的传递一共有两种方式,分别是:服务之间的传递调用Restful api,服务中模块之间的传递使用消息队列.每一个模块在启动是都会启动消息队列,等待队列中的有消息到来.所以模 ...

  10. python要点

    1.数据类型 字符串: ''或""表示单行,写三对符合表示多行, r'这种写法转义符不生效' 布尔值:True, False 空值: None 类型转换 print ), ), b ...