封装好的实用的读写XML类---增删改查XML
1、创建一个类:XmlHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.Windows.Forms;namespace WindowsFormsApplication14 {class XmlHelper{public XmlHelper(){}/// <summary>/// 读取数据/// </summary>/// <param name="path">路径</param>/// <param name="node">节点</param>/// <param name="attribute">属性名,非空时返回该属性值,否则返回串联值</param>/// <returns>string</returns>/*************************************************** 使用示列:* XmlHelper.Read(path, "/Node", "")* XmlHelper.Read(path, "/Node/Element[@Attribute='Name']", "Attribute")************************************************/public static string Read(string path, string node, string attribute){string value = "";try{XmlDocument doc = new XmlDocument();doc.Load(path);XmlNode xn = doc.SelectSingleNode(node);value = (attribute.Equals("") ? xn.InnerText : xn.Attributes[attribute].Value);}catch { }return value;}/// <summary>/// 插入数据/// </summary>/// <param name="path">路径</param>/// <param name="node">节点</param>/// <param name="element">元素名,非空时插入新元素,否则在该元素中插入属性</param>/// <param name="attribute">属性名,非空时插入该元素属性值,否则插入元素值</param>/// <param name="value">值</param>/// <returns></returns>/*************************************************** 使用示列:* XmlHelper.Insert(path, "/Node", "Element", "", "Value")* XmlHelper.Insert(path, "/Node", "Element", "Attribute", "Value")* XmlHelper.Insert(path, "/Node", "", "Attribute", "Value")************************************************/public static void Insert(string path, string node, string element, string attribute, string value){try{XmlDocument doc = new XmlDocument();doc.Load(path);XmlNode xn = doc.SelectSingleNode(node);if (element.Equals("")){if (!attribute.Equals("")){XmlElement xe = (XmlElement)xn;xe.SetAttribute(attribute, value);}}else{XmlElement xe = doc.CreateElement(element);if (attribute.Equals(""))xe.InnerText = value;elsexe.SetAttribute(attribute, value);xn.AppendChild(xe);}doc.Save(path);}catch { }}/// <summary>/// 修改数据/// </summary>/// <param name="path">路径</param>/// <param name="node">节点</param>/// <param name="attribute">属性名,非空时修改该节点属性值,否则修改节点值</param>/// <param name="value">值</param>/// <returns></returns>/*************************************************** 使用示列:* XmlHelper.Insert(path, "/Node", "", "Value")* XmlHelper.Insert(path, "/Node", "Attribute", "Value")************************************************/public static void Update(string path, string node, string attribute, string value){try{XmlDocument doc = new XmlDocument();doc.Load(path);XmlNode xn = doc.SelectSingleNode(node);XmlElement xe = (XmlElement)xn;if (attribute.Equals(""))xe.InnerText = value;elsexe.SetAttribute(attribute, value);doc.Save(path);}catch { }}/// <summary>/// 删除数据/// </summary>/// <param name="path">路径</param>/// <param name="node">节点</param>/// <param name="attribute">属性名,非空时删除该节点属性值,否则删除节点值</param>/// <param name="value">值</param>/// <returns></returns>/*************************************************** 使用示列:* XmlHelper.Delete(path, "/Node", "")* XmlHelper.Delete(path, "/Node", "Attribute")************************************************/public static void Delete(string path, string node, string attribute){try{XmlDocument doc = new XmlDocument();doc.Load(path);XmlNode xn = doc.SelectSingleNode(node);XmlElement xe = (XmlElement)xn;//if (attribute.Equals(""))// xn.ParentNode.RemoveChild(xn);//else// xe.RemoveAttribute(attribute); xn.RemoveAll();doc.Save(path);}catch { }}} }
2、窗体单击按钮调用代码
private void button1_Click(object sender, EventArgs e){//删除元素XmlHelper.Delete("F:\\XmlFile.xml", "/Root", "");//表名XmlHelper.Insert("F:\\XmlFile.xml", "/Root", "Table", "name", "m_C_User");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table[@name='m_C_User']", "", "TableEqualsForm", "False");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table[@TableEqualsForm='False']", "", "title", "用户报表");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table[@title='用户报表']", "", "pageDown", "森林海科技有限公司");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table", "Items", "", "");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items", "Item", "name", "UserNo");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='UserNo']", "", "Text", "用户编号");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@Text='用户编号']", "", "width", "20");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='UserNo'and @Text='用户编号'and @width='20']", "", "summary", "False");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items", "Item", "name", "UserName");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='UserName']", "", "Text", "用户姓名");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@Text='用户姓名']", "", "width", "20");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='UserName'and @Text='用户姓名'and @width='20']", "", "summary", "False");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items", "Item", "name", "Sex");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='Sex']", "", "Text", "性别");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@Text='性别']", "", "width", "20");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='Sex'and @Text='性别'and @width='20']", "", "summary", "False");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items", "Item", "name", "TelNum");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='TelNum']", "", "Text", "联系电话");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@Text='联系电话']", "", "width", "20");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='TelNum'and @Text='联系电话'and @width='20']", "", "summary", "False");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items", "Item", "name", "DeptName");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='DeptName']", "", "Text", "部门");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@Text='部门']", "", "width", "20");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='DeptName'and @Text='部门'and @width='20']", "", "summary", "False");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items", "Item", "name", "Headship");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='Headship']", "", "Text", "职位");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@Text='职位']", "", "width", "20");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/Table/Items/Item[@name='Headship'and @Text='职位'and @width='20']", "", "summary", "False");//插入元素/属性XmlHelper.Insert("F:\\XmlFile.xml", "/Root", "ReportFild", "name", "m_C_User");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild", "Items", "", "");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items", "Item", "name", "UserNo");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='UserNo']", "", "value", "True");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='UserNo'and @value='True']", "", "width", "100");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items", "Item", "name", "UserName");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='UserName']", "", "value", "True");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='UserName'and @value='True']", "", "width", "100");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items", "Item", "name", "Sex");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='Sex']", "", "value", "True");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='Sex'and @value='True']", "", "width", "100");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items", "Item", "name", "TelNum");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='TelNum']", "", "value", "True");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='TelNum'and @value='True']", "", "width", "100");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items", "Item", "name", "DeptName");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='DeptName']", "", "value", "True");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='DeptName'and @value='True']", "", "width", "100");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items", "Item", "name", "Headship");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='Headship']", "", "value", "True");XmlHelper.Insert("F:\\XmlFile.xml", "/Root/ReportFild/Items/Item[@name='Headship'and @value='True']", "", "width", "100");}
3、XmlFile.xml写入结果:
<?xml version="1.0" encoding="utf-8"?> <Root><Table name="m_C_User" TableEqualsForm="False" title="用户报表" pageDown="森林海科技有限公司"><Items><Item name="UserNo" Text="用户编号" width="20" summary="False" /><Item name="UserName" Text="用户姓名" width="20" summary="False" /><Item name="Sex" Text="性别" width="20" summary="False" /><Item name="TelNum" Text="联系电话" width="20" summary="False" /><Item name="DeptName" Text="部门" width="20" summary="False" /><Item name="Headship" Text="职位" width="20" summary="False" /></Items></Table><ReportFild name="m_C_User"><Items><Item name="UserNo" value="True" width="100" /><Item name="UserName" value="True" width="100" /><Item name="Sex" value="True" width="100" /><Item name="TelNum" value="True" width="100" /><Item name="DeptName" value="True" width="100" /><Item name="Headship" value="True" width="100" /></Items></ReportFild> </Root>
转载于:https://www.cnblogs.com/tanding/archive/2012/07/09/2582300.html
封装好的实用的读写XML类---增删改查XML相关推荐
- mybatis实现增删改查xml配置和后端Java编程完整教程
mybatis实现增删改查xml配置和后端编程教程 SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8&quo ...
- 如何 增删改查 XML文件中的元素
如何 增删改查 XML文件中的元素 students.xml 文件如下: <?xml version="1.0" encoding="UTF-8" sta ...
- XML进阶增删改查及gdv的小知识
先介绍DategridView控件 表格控件,缩写:dgv,学习到的是几个实用属性的使用方法及所达到的效果. 1.contextMenuStrip:可以绑定该控件,很多控件都是会有的 2.Select ...
- ASP.NET操作简单的xml,增删改查
温习一下对xml的简单操作,贴出来收藏 xml文件格式: <?xml version="1.0" encoding="utf-8"?> <st ...
- python 读取与修改 XML(增删改查)
XML操作 xml 访问与查找 xml 创建与修改 xml 增删改查 -- 综合案例 xml 访问与查找 import xml.etree.ElementTree as ETtree = ET.par ...
- springboot+mybatis+mysql(增删改查xml入门编程)
jdk1.8 idea 2017.2.6 springboot 2.x 项目搭建省略,直接上代码: 项目结构: application.properties配置 server.port=8086#加载 ...
- 用java编写xml通讯录实现增_删_改_查实验报告_mybatis中的xml方式增删改查
实体类package cn.liwen.entity;public class User { private long id; //主键 private String username;/ ...
- c# xml的增删改查操作 xmlDocument 的用法
1.将xml转换为DataTable string path = "";//xml的位置 StringReader sr = null; XmlTextReader xmlRead ...
- unity mysql增删改查,XML的使用,增删改查(Unity中的)
创建之后的XML 2 none 2.2 none 2.2 创建代码: using UnityEngine; using System.Collections; using System.Xml; us ...
最新文章
- 移动广告聚合管理-KeyMob|移动广告聚合平台|
- [UGUI]圆形Image
- 嵌套集合模型(Nested set model)介绍
- 这6大核心技能,程序员升职加薪的利器
- Enterprise Continuous Integration with Binary Dependencies example
- python正则表达式使用修饰符
- 为什么表数据删掉一半,表文件大小不变?
- RedHat as4 u2下的oracle9.2.0.4安装
- winform listbox增加鼠标双击事件
- build from source 安装 PyTorch及很多坑
- 面包板电源线怎么接_电路实验中,直接用面包板连接线将电源短路会产生什么问题?...
- 最新冰盾DDoS防火墙V9.1 新增防护功能更强大
- python画五角星代码_Python GUI 编程tkinter--画五角星和简单的动画制作
- arxiv提交论文避坑指南
- powerbuilder的dw中使用graph风格,当横轴是日期时,如何显示才能完整显示日期?
- 打印标签时如何解决打印偏移
- 计算机电影制作专业,影视制作专业是学什么的
- SVN:客户端与服务器端安装、配置与使用
- 接下来或许是一年中跳槽的最佳时间
- 泛微--考勤 加班申请: 加班天数不对。
热门文章
- windows java配置_菜鸟教程 windows 配置java的环境变量
- 安装工程造价课程设计_安装工程造价课程设计的图纸-上海装修报价
- 我的docker随笔27:基于容器的sqlite测试
- ubuntu10.04添加账户示例
- oracle:实现滑动平均效果
- jQuery中append()、prepend()与after()、before()的区别
- 【ElasticSearch】Es 源码之 Discovery DiscoveryModule Coordinator 源码解读
- 【java】Java 原子性、有序性与Happens-Before
- 【Kafka】Kafka Tool 2 使用教程 SASL_PLAINTEXT
- 【Spring】Spring 中的bean 和我们java中的bean有什么区别以及spring 模拟实现