//创建一个数据集,将其写入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. 实验吧之【简单的登录题(】CBC字节反转攻击)

    开始刷ctf题吧  慢慢来. 实验吧---简单的登录题 题目地址:http://ctf5.shiyanbar.com/web/jiandan/index.php 随便提交一个id,看到后台set了两个 ...

  2. XSS中的同源策略和跨域问题

    转自 https://www.cnblogs.com/chaoyuehedy/p/5556557.html 1 同源策略 所谓同源策略,指的是浏览器对不同源的脚本或者文本的访问方式进行的限制.比如源a ...

  3. Python开发【第十一篇】函数

    函数 什么是函数? 函数是可以重复执行的语句块,可以重复调用并执行函数的面向过程编程的最小单位. 函数的作用: 函数用于封装语句块,提高代码的重用性,定义用户级别的函数.提高代码的可读性和易维护性. ...

  4. 【RabbitMQ 实战指南】一 过期时间TTL

    RabbitMQ 可以对消息和队列设置过期时间(TTL) 1.设置消息的TTL 目前有两种方式可以设置消息的TTL 第一种方式是通过队列属性设置,队列中所有消息都有相同的过期时间 第二种方式是对消息本 ...

  5. leetcode 刷500道题,笔试/面试稳过吗?谈一谈这些年来算法的学习

    想要学习算法.应付笔试或者应付面试手撕算法题,相信大部分人都会去刷 Leetcode,有读者问?如果我在 leetcode 坚持刷它个 500 道题,以后笔试/面试稳吗? 这里我说下我的个人看法,我认 ...

  6. 用Wireshark抓包分析请求

    前言 有些封装好的API把错误都屏蔽掉,直接返回某一个不明确的具体错误,让人感到困惑. //code in SDK read-only public static Data requestHandle ...

  7. stream流篇

    流是C#中比较重要的一个概念,很多关键技术都需要用到流.何为流呢?可以理解流为江河中水的流动,不过C#中则为信息流,我们可以把信息写入流,也可以读出.比如以文件读写操作为例,首先以某种方式(如只读)打 ...

  8. jquery获取dom属性方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 深入理解大数据架构之——Lambda架构

    目录 传统系统的问题 Lambda架构简介 Lambda架构关键特性 数据系统的本质 Lambda的三层架构 Lambda架构组件选型 总结 原文链接:https://jiang-hao.com/ar ...

  10. VS运行遇到的那些坑

    今天运行VS项目好好的,就是安装了VS2019后,就出现了无法连接到IIS服务器,这个问题,然后各种办法都试了无效. 解决方法: 1.删除根目录的.vs文件,然后重新生成. 2.修改调试这里的IP改为 ...