⒈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. qml: 自定义输入框

    import QtQuick 2.7 Rectangle { width:; height:; border.width:; border.color: "#E7E7E7" rad ...

  2. CSS外边框、边界样式常用组合

    一.CSS框线一览表 border-top : 1px solid #6699cc; /*上框线*/ border-bottom : 1px solid #6699cc; /*下框线*/ border ...

  3. Tomcat、Weblogic、WebSphere、JBoss服务器的选择

    一.应用点 Tomcat是Apache基金会提供的Servlet容器,它支持JSP, Servlet和JDBC等J2EE关键技术,所以用户可以用Tomcat开发基于数据库,Servlet和JSP页面的 ...

  4. ssh框架里拦截器的权限验证基本思路【转】

    相关表 序号 表性质 表名 字段 字段 字段 字段 字段 1 基表 用户表 id 帐号 密码     2 基表 角色表 id 角色名       3 基表 权限表 id 权限名 请求路径     4 ...

  5. MySQL数据库基本命令-1

    第一章:数据库概述1.数据(data) 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS)2.数据库管理系统提供的功能: (1)数据定义语言:DDL (2)数据操作语言:DML 基本的数 ...

  6. Windows下 OpenSSL DES加密配置

    1.简介:OpenSSL项目是一个协作开发一个健壮的,商业级的,全功能的,并且开放源代码工具包,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1)协议以及全强大的通用加密库. 2. ...

  7. MyEclipse创建SWT程序

    创建项目:NewProject->WindowsBuilder->SWT Designer->SWT/JFACE Java Project添加SWT窗口:New->Window ...

  8. Mark Text - 下一代所见即所得的Markdown编辑器

    Mark Text 所输及所见,摒弃了众多 markdown 编辑器左边写作右边预览的写作方式,巧妙的将编辑和预览融为一体.snabbdom 作为 Mark Text 的渲染引擎,保证了极速渲染编辑页 ...

  9. Spring整合redis配置文件详解

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  10. Python下Tesseract Ocr引擎及安装介绍

    1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码 ...