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; //这两句作用是,在程序的文件夹下生成 ...
随机推荐
- qml: 自定义输入框
import QtQuick 2.7 Rectangle { width:; height:; border.width:; border.color: "#E7E7E7" rad ...
- CSS外边框、边界样式常用组合
一.CSS框线一览表 border-top : 1px solid #6699cc; /*上框线*/ border-bottom : 1px solid #6699cc; /*下框线*/ border ...
- Tomcat、Weblogic、WebSphere、JBoss服务器的选择
一.应用点 Tomcat是Apache基金会提供的Servlet容器,它支持JSP, Servlet和JDBC等J2EE关键技术,所以用户可以用Tomcat开发基于数据库,Servlet和JSP页面的 ...
- ssh框架里拦截器的权限验证基本思路【转】
相关表 序号 表性质 表名 字段 字段 字段 字段 字段 1 基表 用户表 id 帐号 密码 2 基表 角色表 id 角色名 3 基表 权限表 id 权限名 请求路径 4 ...
- MySQL数据库基本命令-1
第一章:数据库概述1.数据(data) 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS)2.数据库管理系统提供的功能: (1)数据定义语言:DDL (2)数据操作语言:DML 基本的数 ...
- Windows下 OpenSSL DES加密配置
1.简介:OpenSSL项目是一个协作开发一个健壮的,商业级的,全功能的,并且开放源代码工具包,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1)协议以及全强大的通用加密库. 2. ...
- MyEclipse创建SWT程序
创建项目:NewProject->WindowsBuilder->SWT Designer->SWT/JFACE Java Project添加SWT窗口:New->Window ...
- Mark Text - 下一代所见即所得的Markdown编辑器
Mark Text 所输及所见,摒弃了众多 markdown 编辑器左边写作右边预览的写作方式,巧妙的将编辑和预览融为一体.snabbdom 作为 Mark Text 的渲染引擎,保证了极速渲染编辑页 ...
- Spring整合redis配置文件详解
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Python下Tesseract Ocr引擎及安装介绍
1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码 ...