//创建一个数据集,将其写入xml文件
string name = "1.xml";
System.Data.DataSet ds = new System.Data.DataSet("MESSAGE");
System.Data.DataTable table = new System.Data.DataTable("FeedBack");
ds.Tables.Add(table);
table.Columns.Add("Model_Name", typeof(string));
table.Columns.Add("PRJ_Name", typeof(string));
table.Columns.Add("area_name", typeof(string));
table.Columns.Add("Major_Name", typeof(string));
System.Data.DataRow row = table.NewRow();
row[] = Model_Name;
row[] = PRJ_Name;
row[] = area_name;
row[] = Major_Name;
ds.Tables["FeedBack"].Rows.Add(row);
string path = ("E:/BIM_APP/BIM_APP_ModelInsp/" + name);
ds.WriteXml(path);

这个方法只是针对临时存放的数据,多次向XML里面添加数据只会保存最后一次添加的数据,不是全部保存。

XML展示

<?xml version="1.0" standalone="yes"?>
<MESSAGE>
<FeedBack>
<Model_Name>name</Model_Name>
<PRJ_Name>test</PRJ_Name>
<area_name>test</area_name>
<Major_Name>test</Major_Name>
</FeedBack>
</MESSAGE>

读取XML数据

 XmlDocument doc = new XmlDocument();
doc.Load("E:/BIM_APP/BIM_APP_ModelInsp/1.xml");
XmlElement xmlRoot = doc.DocumentElement;
foreach (XmlNode node in xmlRoot.ChildNodes)
{
label21.Text = node["Model_Name"].InnerText;
label23.Text = node["PRJ_Name"].InnerText;
label25.Text = node["area_name"].InnerText;
label26.Text = node["Major_Name"].InnerText;
}

删除方法

            XmlDocument xdoc = new XmlDocument();
xdoc.Load("E:/BIM_APP/BIM_APP_ModelInsp/1.xml");
//获得元素列表
XmlElement xeXML = xdoc.DocumentElement;
//获得父节点数量
int nodeCount = xeXML.ChildNodes.Count;
for (int i = ; i < nodeCount; i++)
{
XmlNode root = xdoc.SelectSingleNode("MESSAGE");
root.RemoveChild(xeXML.ChildNodes[i]);
nodeCount = nodeCount - ;
xdoc.Save("E:/BIM_APP/BIM_APP_ModelInsp/1.xml");
}
nodeCount = nodeCount - ;

这种删除方法建议用在删除全部的数据上,MESSAGE就是XML的节点,删除这个节点下面全部的数据。

读取到指定的节点

  XmlDocument xml = new XmlDocument();
xml.Load(strUrl); var selectItemList = new List<Translation>();
XDocument xdoc = XDocument.Load(strUrl);
XElement xroot = xdoc.Root;//根节点
var nodes = xroot.Descendants().FirstOrDefault(a => a.Name.LocalName == Nodes);//获取指定的XML节点 foreach (XElement e in nodes.Elements("Param"))
{
selectItemList.Add(new Translation() { Text = e.Value, Value = e.FirstAttribute.Value, Name = e.LastAttribute.Value });
}

  

  

C#winfrom将XML数据保存读取删除的更多相关文章

  1. XML数据的读取—数据库配置文件

    数据库配置文件(config.xml) <?xml version="1.0" encoding="utf-8"?> <configurati ...

  2. Matlab的简单数据保存读取

    1.使用load进行文件读取 例如读入文件名为'filename.txt'中的数据,那么可以使用以下代码: load('filename.txt') 注意:filename.txt中的数据应符合矩阵形 ...

  3. iOS 详解NSXMLParser方法解析XML数据方法

    前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...

  4. c#调用JAVA的Webservice处理XML数据及批量轮询的实现方法

    前段时间做一个调用外单位WEBSERVICE的项目,项目完成的功能其实很简单,就是我们单位有很多车友会员,我们想对他们提供车辆违章信息告之服务!我们这边交警部门给我们开放了WS的接口,我们就是想通过这 ...

  5. 使用dom4j中SAXReader解析xml数据

    public ApiConfig(String configFilePath) throws DocumentException{ SAXReader reader = new SAXReader() ...

  6. Python3.x:将数据下载到xls时候用xml格式保存一份读取内容

    Python3.x:将数据下载到xls时候用xml格式保存一份读取内容 核心代码: import json import xml.dom.minidom from urllib import requ ...

  7. WPF XML序列化保存数据 支持Datagrid 显示/编辑/添加/删除数据

    XML序列化保存数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  8. 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)

    原文地址:http://hi.baidu.com/tbjmnvbagkfgike/item/6743ab10af43bb24f6625cc5 最近写程序需要用到xml操作,看了看python.org上 ...

  9. wcf序列化大对象时报错:读取 XML 数据时,超出最大

    错误为: 访问服务异常:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出 错: request.InnerException 消息是“反序 ...

随机推荐

  1. 代码审计-四叶草杯线下awd比赛源码web2

    今晚简单来看看那天比赛的源码吧,比赛的时候还是有些慌没有好好去静下心看代码. awd给的题中的漏洞,都是那种可以快速让你利用拿到权限后得到flag的那种,特别复杂利用的一般没有. 建议先黑盒去尝试,例 ...

  2. PHP array_slice

    1.函数的作用:返回数组中的部分区间的元素 2.函数的参数: @params  array  $array @params  int      $offset @params  int      $l ...

  3. Fibonacci 数列和 Lucas 数列的性质、推论及其证明

    Fibonacci 数列 设f(x)=1,x∈{1,2}=f(x−1)+f(x−2),x∈[3,∞)\begin{aligned}f(x)&=1,\quad\quad\quad\quad\qu ...

  4. vue内使用echarts

    18年下班年用的vue + echarts,现在才想起来总结,着实不敬业 线上的项目叫股往(http://rich.xchol.com/#/) 好了,进入正题: 首先,需要新建一个vue的项目,在vu ...

  5. Elastic Stack 简介

    一.ElasticSearch ElasticSearch 是一个基于 Apache Lucene 的开源搜索引擎.它通过RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单.不 ...

  6. (转载)linux命令-sed

    原文地址:https://www.cnblogs.com/zhangzongjian/p/10708222.html

  7. Myeclipse 反编译工具插件

    JadClipse是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高.可惜用起来不太方便.还好 找到myeclipse下的插件,叫JadClipse,安装好之后,只要双击.class文 ...

  8. Spring Boot项目中如何定制拦截器

    本文首发于个人网站:Spring Boot项目中如何定制拦截器 Servlet 过滤器属于Servlet API,和Spring关系不大.除了使用过滤器包装web请求,Spring MVC还提供Han ...

  9. 由浅入深:Python 中如何实现自动导入缺失的库?

    在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx' 或者 ModuleNotFoundError: No mod ...

  10. 百万年薪python之路 -- 包

    包 使用import 和from xx import xx 现有如下结构 bake ├── __init__.py ├── api ├── __init__.py ├── policy.py └── ...