一.Xml的创建方式

点击查看代码
	XElement xElement = new XElement(
new XElement("ProductType",
new XElement("BMW",
new XElement("Threshold", "Search", new XAttribute("Max", 100)),//后面这个是obj类型,写啥都行,输出的时候XAttribute.Value都是string类型
new XElement("Threshold", "Search", new XAttribute("Min", "20")),
new XElement("ROI", "Rect1"),
new XElement("Date", DateTime.Now.ToString("yyyy-MM-dd"))
),
new XElement("Volvo",
new XElement("Threshold", "Search", new XAttribute("Max", 100)),
new XElement("Threshold", "Search", new XAttribute("Min", "20")),
new XElement("ROI", "Rect2"),
new XElement("Date", DateTime.Now.ToString("yyyy-MM-dd"))
)));
string iniPath = Application.StartupPath + "\\params";
string xmlPath = iniPath + "\\ProductInfo.xml";
//需要指定编码格式,否则在读取时会抛:根级别上的数据无效。 第 1 行 位置 1异常
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = new UTF8Encoding(false);
settings.Indent = true;
XmlWriter xw = XmlWriter.Create(xmlPath, settings);//不用xmlwriter 用document写也一样的,但是writer快一点
xElement.Save(xw);
xw.Flush();
xw.Close();

3. 使用Xdocument建立(树结构,速度比writer慢,不推荐)

点击查看代码

//使用XDocument创建xml
System.Xml.Linq.XDocument xdoc = new XDocument();
XDeclaration xdec = new XDeclaration("1.0", "utf-8", "yes");
xdoc.Declaration = xdec; //添加根节点
XElement rootEle = new XElement("school");
xdoc.Add(rootEle); //给根节点添加子节点
XElement classEle = new XElement("class");
XAttribute attrClass = new XAttribute("No", 1);
classEle.Add(attrClass);
rootEle.Add(classEle);//其实就是看哪个Xelement.Add的,哪个加的哪个就是谁的子节点 XElement classEle1 = new XElement("class1");
XAttribute attrClass1 = new XAttribute("No", 1);
classEle1.Add(attrClass1);
rootEle.Add(classEle1); //添加子节点下的元素
XElement stuEle = new XElement("student");
XAttribute atrStu = new XAttribute("sid", "20180101");
stuEle.Add(atrStu);
classEle.Add(stuEle); //保存文件
xdoc.Save("d:\\zzz\\TestB.xml");

二.Xml的读取
1.使用Xdocument进行读取
var doc =Xdocument.Load( 路径【string】 );
或者Xdocument doc=Xdocument.Load( 路径【string】 );

XDocument 属性

三.Xml的增加

1.可以用上面第三种里面的XElement.Add()去添加节点到对应的位置

//没写完

C#Xml的三种创建方式(或者是两种?)和增删改查的更多相关文章

  1. django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面

    1.为test.DB数据库预先创建下面数据 1    张三    16    2015-01-02    12    李四    17    2015-01-04    13    王五    14  ...

  2. magento中Model创建以及该Model对于数据库的增删改查

    本文是按照magento英文文档照做与翻译的. Model层的实现是mvc框架的一个巨大的部分.它代表了你的应用的数据,或者说大多数应用没有数据是无用的.Magento的Model扮演着一个重要的角色 ...

  3. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

  4. ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)

    在springmvc+spring+mybatis里整合ztree实现增删改查,上一篇已经写了demo,以下就仅仅贴出各层实现功能的代码: Jsp页面实现功能的js代码例如以下: <script ...

  5. ORM创建多表以及多表的增删改查

    一. 多表的创建 1. 一对一 在哪个表中设置都行,但是添加数据的时候需要现在没有外键的表中添加数据 models.OneToOneField(to="表名",to_field=& ...

  6. 将xml文件作为一个小的数据库,进行学生的增删改查

    1.xml文件: <?xml version="1.0" encoding="UTF-8"?><Students> <studen ...

  7. python利用xmlrpc方式对odoo数据表进行增删改查操作

    # -*- encoding: utf-8 -*- import xmlrpclib #导入xmlrpc库,这个库是python的标准库. username ='admin' #用户登录名 pwd = ...

  8. (一)Mybatis基本配置,Statement方式,动态代理增删改查

    首先明白Mybatis是干什么的,之前使用jdbc操作数据库时候要写很多语句,获取光标,连接,获取具体对象进行相应操作,代码过于繁琐,所以现在有了Mybatis,它将这个操作整合在了一起,你不需要关心 ...

  9. Android-Sqlite-OOP方式操作增删改查

    之前写的数据库增删改查,是使用SQL语句来实现的,Google 就为Android开发人员考虑,就算不会SQL语句也能实现增删改查,所以就有了OOP面向对象的增删改查方式 其实这种OOP面向对象的增删 ...

  10. Struts2之命名空间与Action的三种创建方式

    看到上面的标题,相信大家已经知道我们接下来要探讨的知识了,一共两点:1.package命名空间设置:2.三种Action的创建方式.下面我们开始本篇的内容: 首先我们聊一聊命名空间的知识,namesp ...

随机推荐

  1. 1632 B君的连通

    B国拥有n个城市,其交通系统呈树状结构,即任意两个城市存在且仅存在一条交通线将其连接.A国是B国的敌国企图秘密发射导弹打击B国的交通线,现假设每条交通线都有50%的概率被炸毁,B国希望知道在被炸毁之后 ...

  2. BD String

    BD String Accepts: 388 Submissions: 1164 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/ ...

  3. isEmpty 和 isBlank

    <org.apache.commons.lang3.StringUtils> isEmpty系列 StringUtils.isEmpty() ========> StringUtil ...

  4. mybatis 内部定义对象和集合

    mapper 配置文件中  引入两个重要的标签:association和collection标签.

  5. MySQL 高级内容

    MyISAM 和 MEMORY 存储引擎支持表级锁定(table-level locking),InnoDB 存储引擎支持行级锁定(row-level locking),BDB 存储引擎支持页级锁定( ...

  6. DAG-GNN: DAG Structure Learning with Graph Neural Networks

    目录 概 主要内容 代码 Yu Y., Chen J., Gao T. and Yu M. DAG-GNN: DAG structure learning with graph neural netw ...

  7. [opencv]opencv主要组件介绍

    [calib3d]--其实就是就是Calibration(校准)加3D这两个词的组合缩写.这个模块主要是相机校准和三维重建相关的内容.基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性 ...

  8. Spring企业级程序设计 • 【第6章 深入Spring MVC开发】

    全部章节   >>>> 本章目录 6.1 模型数据解析及控制器返回值 6.1.1 ModelAndView多种用法 6.1.2  Map添加模型数据和返回String类型值 6 ...

  9. 快看!❤️又一超实用浏览器插件!常用网站自动整合,JSON格式化,CSDN全站去广告!多种工具一键调用。开发者的福音!

    其实这个插件才出来的时候博主也下载了使用过,并没有什么亮点,那时候甚至觉得有点多余,因为CSDN全站去广告啥的,早就安装了油猴脚本,广告?不存在的嘿嘿.. 就在前几天看见CSDN的活动在推荐这款插件, ...

  10. 编写Java程序,使用Swing事件处理机制实现用户登录和英雄信息显示

    返回本章节 返回作业目录 需求说明: 使用Swing事件处理机制实现用户登录和英雄信息显示 实现思路: 创建LoginView类,该类用于显示登录界面,为登录按钮添加ActionListener事件, ...