C#winfrom将XML数据保存读取删除
//创建一个数据集,将其写入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数据保存读取删除的更多相关文章
- XML数据的读取—数据库配置文件
数据库配置文件(config.xml) <?xml version="1.0" encoding="utf-8"?> <configurati ...
- Matlab的简单数据保存读取
1.使用load进行文件读取 例如读入文件名为'filename.txt'中的数据,那么可以使用以下代码: load('filename.txt') 注意:filename.txt中的数据应符合矩阵形 ...
- iOS 详解NSXMLParser方法解析XML数据方法
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...
- c#调用JAVA的Webservice处理XML数据及批量轮询的实现方法
前段时间做一个调用外单位WEBSERVICE的项目,项目完成的功能其实很简单,就是我们单位有很多车友会员,我们想对他们提供车辆违章信息告之服务!我们这边交警部门给我们开放了WS的接口,我们就是想通过这 ...
- 使用dom4j中SAXReader解析xml数据
public ApiConfig(String configFilePath) throws DocumentException{ SAXReader reader = new SAXReader() ...
- Python3.x:将数据下载到xls时候用xml格式保存一份读取内容
Python3.x:将数据下载到xls时候用xml格式保存一份读取内容 核心代码: import json import xml.dom.minidom from urllib import requ ...
- WPF XML序列化保存数据 支持Datagrid 显示/编辑/添加/删除数据
XML序列化保存数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)
原文地址:http://hi.baidu.com/tbjmnvbagkfgike/item/6743ab10af43bb24f6625cc5 最近写程序需要用到xml操作,看了看python.org上 ...
- wcf序列化大对象时报错:读取 XML 数据时,超出最大
错误为: 访问服务异常:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出 错: request.InnerException 消息是“反序 ...
随机推荐
- 代码审计-四叶草杯线下awd比赛源码web2
今晚简单来看看那天比赛的源码吧,比赛的时候还是有些慌没有好好去静下心看代码. awd给的题中的漏洞,都是那种可以快速让你利用拿到权限后得到flag的那种,特别复杂利用的一般没有. 建议先黑盒去尝试,例 ...
- PHP array_slice
1.函数的作用:返回数组中的部分区间的元素 2.函数的参数: @params array $array @params int $offset @params int $l ...
- 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 ...
- vue内使用echarts
18年下班年用的vue + echarts,现在才想起来总结,着实不敬业 线上的项目叫股往(http://rich.xchol.com/#/) 好了,进入正题: 首先,需要新建一个vue的项目,在vu ...
- Elastic Stack 简介
一.ElasticSearch ElasticSearch 是一个基于 Apache Lucene 的开源搜索引擎.它通过RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单.不 ...
- (转载)linux命令-sed
原文地址:https://www.cnblogs.com/zhangzongjian/p/10708222.html
- Myeclipse 反编译工具插件
JadClipse是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高.可惜用起来不太方便.还好 找到myeclipse下的插件,叫JadClipse,安装好之后,只要双击.class文 ...
- Spring Boot项目中如何定制拦截器
本文首发于个人网站:Spring Boot项目中如何定制拦截器 Servlet 过滤器属于Servlet API,和Spring关系不大.除了使用过滤器包装web请求,Spring MVC还提供Han ...
- 由浅入深:Python 中如何实现自动导入缺失的库?
在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx' 或者 ModuleNotFoundError: No mod ...
- 百万年薪python之路 -- 包
包 使用import 和from xx import xx 现有如下结构 bake ├── __init__.py ├── api ├── __init__.py ├── policy.py └── ...