博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 简单封装一个XML文件读取类
阅读量:6821 次
发布时间:2019-06-26

本文共 1725 字,大约阅读时间需要 5 分钟。

很久没碰XML文件读写了,今天帮朋友写了一个相关的读取XML文件的操作类,封装成dll便于使用。

先说下需求吧:

A:在XML文件中有多个集,每个集里面包含多个节点。

B:可根据集的名字的取出这个集合下面的所有节点值

C:可一次性取出所有的节点值

D:其中有一个是无限拓展的就是:表达式

E:把集合读取到一个模型(实体类)当中

先来看下XML文件结构的分析如下(我用红色方块勾出区域划分):

 

这里既3个区域(3个集合)。

 

实际使用效果:

要实现上面的效果,封装好了之后是很简单的。

一行代码即可获得数据。

以下是读取XML内容的代码片段:

//获取所有指令名 填充到控件  private void btn_getNames_Click(object sender, EventArgs e)  {  string[] names = xmlOpt.CommandNames;  foreach (string str in names)      {          lst_names.Items.Add(str);      }  }  //获取所有指令 填充到控件  private void btn_commands_Click(object sender, EventArgs e)  {  foreach (XmlCommandModel model in xmlOpt.GetCommandModelList)      {          txt_commands.Text += model.CommandName + "\r\n";          txt_commands.Text += model.CommandValue + "\r\n";          txt_commands.Text += model.CommandString + "\r\n";  foreach (string str in model.CommandPuts)          {              txt_commands.Text += str + "\r\n";          }      }  }  //统计指令信息  private void btn_count_Click(object sender, EventArgs e)  {      txt_count.Text += "一共:" + xmlOpt.commandCout + "条指令" + "\r\n";      txt_count.Text += "目标路径:" + xmlOpt.FilePath + "\r\n";  }  //根据指令名 获取一个指定的指令 填充到控件  private void btn_GetByName_Click(object sender, EventArgs e)  {      txt_GetByName.Text = "";      XmlCommandModel myModel =  xmlOpt.GetCommandModelByName(txt_name.Text);      txt_GetByName.Text += myModel.CommandName + "\r\n";      txt_GetByName.Text += myModel.CommandValue + "\r\n";      txt_GetByName.Text += myModel.CommandString + "\r\n";  foreach (string put in myModel.CommandPuts)      {          txt_GetByName.Text += put + "\r\n";      }  }

 

很简单吧,看着很多,其实都是在使用。

提取都是一句话的事情啦。

 

该例子的完整代码下载地址:

 

参考:

转载于:https://www.cnblogs.com/andrew-blog/archive/2011/12/03/CSharp_XML.html

你可能感兴趣的文章
mysql远程连接
查看>>
application 启动多次
查看>>
在Array原型链上扩展remove,contain等方法所遇到的坑
查看>>
快排class
查看>>
列出文件和目录
查看>>
字典功能的简单实现
查看>>
Mac OS X 下搭建 Java 开发环境图解
查看>>
JBPM4或Activiti5的流程任务分发与汇总
查看>>
android4.0 在ubuntu10.04(64位)上的下载与编译
查看>>
记一次在 Linux 上创建 Django 应用的过程
查看>>
C++反射机制的实现
查看>>
ace admin模板实现伪无刷新模式的方法
查看>>
LayaAir 自旋转的小球 横向移动
查看>>
翻译WifiConfiguration类
查看>>
Win2008 IIS 7.0+php,MySQL,Zend,phpMyadmin配置图解
查看>>
微博的理想类型(刘德寰)
查看>>
伍雨霏-懂游戏的云服务如何保驾护航
查看>>
姜正林-CIO职业规划点滴感受
查看>>
win8下获取注册表权限
查看>>
js笔试题2
查看>>