⒈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. hibernate的学习周

    Hibernate核心:ORM(对象关系映射) BeginSession关闭的时候要session.close(),而getCurrentsession不需要,它会自动关闭 Session.load( ...

  2. java中将string类型转int类型或者将string类型转long类型方法

    将字串 String 转换成整数 int 两种方法: 1).int i = Integer.parseInt("111"); 或 i = Integer.parseInt([Str ...

  3. 3D转换(位置)+过渡+透视

    效果如图: html代码: <div class="door"> <div class="in"><div> </di ...

  4. JavaSE_List&Array_Java1.7

    这里简单写了下List和Array的相互转换 package cn.rocker.collection.list; import org.junit.Test; import java.util.Ar ...

  5. vscode Live Server使用

    vscode 的Live Server插件可以开启本地服务器

  6. Linux 内核里的数据结构:位图(bitmap)

    注: 本文由 LCTT 原创翻译,Linux中国 荣誉推出 Linux 内核中的位数组和位操作 除了不同的基于链式和树的数据结构以外,Linux 内核也为位数组(或称为位图(bitmap))提供了 A ...

  7. 【转】C语言中的符号优先级

    转自: http://blog.csdn.net/huangblog/article/details/8271791 虽然在日常使用中,添加括号来明确规定运算符优先级是一种常识,但毕竟学校考试就喜欢考 ...

  8. elasticsearch基本概念与查询语法

    序言 后面有大量类似于mysql的sum, group by查询 elk === elk总体架构 https://www.elastic.co/cn/products Beat 基于go语言写的轻量型 ...

  9. zookeeper安装使用及工作原理分析

    1. Zookeeper概念简介 Zookeeper是一个分布式协调服务:就是为用户的分布式应用程序提供协调服务,它是集群的管理者,监视着集群中各个节点的状态,根据节点提交的反馈进行下一步合理操作. ...

  10. Map接口、HashMap类、LinkedHashSet类

    java.util.Map<K, V>接口 双列集合,key不可以重复 Map方法: 1.public V put(K key, V value):键值对添加到map,如果key不重复返回 ...