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 消息是“反序 ...
随机推荐
- MySQL make_set()的用法
MAKE_SET(bits,str1,str2,…)返回一个设定值(含子字符串分隔字符串","字符),在设置位的相应位的字符串.str1对应于位0,str2到第1位,依此类推.在s ...
- Python:的web爬虫实现及原理(BeautifulSoup工具)
最近一直在学习python,学习完了基本语法就练习了一个爬虫demo,下面总结下. 主要逻辑是 1)初始化url管理器,也就是将rooturl加入到url管理器中 2)在url管理器中得到新的new_ ...
- [BZOJ3813] 奇数国 - 线段树
3813: 奇数国 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 912 Solved: 508[Submit][Status][Discuss] ...
- Ubuntu使用中遇到的的一些问题
制作ubuntu启动盘后,U盘只读. ubuntu自带的"启动盘创建器(usb-creator-gtk)"制作启动盘后,U盘只读. 打开ubuntu自带的"磁盘(hard ...
- 就改了get,却不让我set?——Java内省机制的神奇行为举止一例
[相关类库]org.apache.commons.beanutils.BeanUtils,提供对Java反射和自省API的包装,其中底层使用到了Java的内省方法.[内省的一般应用形式]通过类Intr ...
- qt实现串口通讯
摘要:上位机软件程序通过QT实现,采集输入信息,根据实际需要做出合适的串口通讯协议,实现效果如下图所示: 主要实现的功能: 1.串口基本参数可选,可调 2.显示区域可选择十六进制/asicii码显示, ...
- python中如何通过报错信息定位问题(异常传播轨迹)
class SelfException(Exception): pass def main(): firstMethod() def firstMethod(): secondMethod() def ...
- MFC中如何分割CString类型的数据
[才疏学浅,难免有纰漏,若有不正确的地方,欢迎指教] MFC中有一个库函数 Tokenize(); 函数原型:CStringT Tokenize( PCXSTR pszTokens , int& ...
- Spring Boot提供RESTful接口时的错误处理实践
使用Spring Boot开发微服务的过程中,我们会使用别人提供的接口,也会设计接口给别人使用,这时候微服务应用之间的协作就需要有一定的规范. 基于rpc协议,我们一般有两种思路:(1)提供服务的应用 ...
- 面试题-javascript-面向对象编程
笔者在某次笔试中遇到这个题:印象很深. function ClassA() { var value=4; this.getValue= function() { return value; } thi ...