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相关推荐

  1. mybatis实现增删改查xml配置和后端Java编程完整教程

    mybatis实现增删改查xml配置和后端编程教程 SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8&quo ...

  2. 如何 增删改查 XML文件中的元素

    如何 增删改查 XML文件中的元素 students.xml 文件如下: <?xml version="1.0" encoding="UTF-8" sta ...

  3. XML进阶增删改查及gdv的小知识

    先介绍DategridView控件 表格控件,缩写:dgv,学习到的是几个实用属性的使用方法及所达到的效果. 1.contextMenuStrip:可以绑定该控件,很多控件都是会有的 2.Select ...

  4. ASP.NET操作简单的xml,增删改查

    温习一下对xml的简单操作,贴出来收藏 xml文件格式: <?xml version="1.0" encoding="utf-8"?> <st ...

  5. python 读取与修改 XML(增删改查)

    XML操作 xml 访问与查找 xml 创建与修改 xml 增删改查 -- 综合案例 xml 访问与查找 import xml.etree.ElementTree as ETtree = ET.par ...

  6. springboot+mybatis+mysql(增删改查xml入门编程)

    jdk1.8 idea 2017.2.6 springboot 2.x 项目搭建省略,直接上代码: 项目结构: application.properties配置 server.port=8086#加载 ...

  7. 用java编写xml通讯录实现增_删_改_查实验报告_mybatis中的xml方式增删改查

    实体类package cn.liwen.entity;public class User {    private long id; //主键    private String username;/ ...

  8. c# xml的增删改查操作 xmlDocument 的用法

    1.将xml转换为DataTable string path = "";//xml的位置 StringReader sr = null; XmlTextReader xmlRead ...

  9. unity mysql增删改查,XML的使用,增删改查(Unity中的)

    创建之后的XML 2 none 2.2 none 2.2 创建代码: using UnityEngine; using System.Collections; using System.Xml; us ...

最新文章

  1. 移动广告聚合管理-KeyMob|移动广告聚合平台|
  2. [UGUI]圆形Image
  3. 嵌套集合模型(Nested set model)介绍
  4. 这6大核心技能,程序员升职加薪的利器
  5. Enterprise Continuous Integration with Binary Dependencies example
  6. python正则表达式使用修饰符
  7. 为什么表数据删掉一半,表文件大小不变?
  8. RedHat as4 u2下的oracle9.2.0.4安装
  9. winform listbox增加鼠标双击事件
  10. build from source 安装 PyTorch及很多坑
  11. 面包板电源线怎么接_电路实验中,直接用面包板连接线将电源短路会产生什么问题?...
  12. 最新冰盾DDoS防火墙V9.1 新增防护功能更强大
  13. python画五角星代码_Python GUI 编程tkinter--画五角星和简单的动画制作
  14. arxiv提交论文避坑指南
  15. powerbuilder的dw中使用graph风格,当横轴是日期时,如何显示才能完整显示日期?
  16. 打印标签时如何解决打印偏移
  17. 计算机电影制作专业,影视制作专业是学什么的
  18. SVN:客户端与服务器端安装、配置与使用
  19. 接下来或许是一年中跳槽的最佳时间
  20. 泛微--考勤 加班申请: 加班天数不对。

热门文章

  1. windows java配置_菜鸟教程 windows 配置java的环境变量
  2. 安装工程造价课程设计_安装工程造价课程设计的图纸-上海装修报价
  3. 我的docker随笔27:基于容器的sqlite测试
  4. ubuntu10.04添加账户示例
  5. oracle:实现滑动平均效果
  6. jQuery中append()、prepend()与after()、before()的区别
  7. 【ElasticSearch】Es 源码之 Discovery DiscoveryModule Coordinator 源码解读
  8. 【java】Java 原子性、有序性与Happens-Before
  9. 【Kafka】Kafka Tool 2 使用教程 SASL_PLAINTEXT
  10. 【Spring】Spring 中的bean 和我们java中的bean有什么区别以及spring 模拟实现