C# 简单封装一个XML文件读取类

来源:互联网 发布:软件著作权证查询 编辑:程序博客网 时间:2024/05/16 14:08

转自:http://blog.csdn.net/andrew_wx/article/details/6680353

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

先说下需求吧:

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

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

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

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

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

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

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


实际使用效果:


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

一行代码即可获得数据。

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

[csharp] view plaincopyprint?
  1. //获取所有指令名 填充到控件  
  2. private void btn_getNames_Click(object sender, EventArgs e)  
  3. {  
  4.     string[] names = xmlOpt.CommandNames;  
  5.     foreach (string str in names)  
  6.     {  
  7.         lst_names.Items.Add(str);  
  8.     }  
  9. }  
  10.   
  11. //获取所有指令 填充到控件  
  12. private void btn_commands_Click(object sender, EventArgs e)  
  13. {  
  14.     foreach (XmlCommandModel model in xmlOpt.GetCommandModelList)  
  15.     {  
  16.         txt_commands.Text += model.CommandName + "\r\n";  
  17.         txt_commands.Text += model.CommandValue + "\r\n";  
  18.         txt_commands.Text += model.CommandString + "\r\n";  
  19.         foreach (string str in model.CommandPuts)  
  20.         {  
  21.             txt_commands.Text += str + "\r\n";  
  22.         }  
  23.     }  
  24. }  
  25.   
  26. //统计指令信息  
  27. private void btn_count_Click(object sender, EventArgs e)  
  28. {  
  29.     txt_count.Text += "一共:" + xmlOpt.commandCout + "条指令" + "\r\n";  
  30.     txt_count.Text += "目标路径:" + xmlOpt.FilePath + "\r\n";  
  31. }  
  32.   
  33. //根据指令名 获取一个指定的指令 填充到控件  
  34. private void btn_GetByName_Click(object sender, EventArgs e)  
  35. {  
  36.     txt_GetByName.Text = "";  
  37.     XmlCommandModel myModel =  xmlOpt.GetCommandModelByName(txt_name.Text);  
  38.     txt_GetByName.Text += myModel.CommandName + "\r\n";  
  39.     txt_GetByName.Text += myModel.CommandValue + "\r\n";  
  40.     txt_GetByName.Text += myModel.CommandString + "\r\n";  
  41.     foreach (string put in myModel.CommandPuts)  
  42.     {  
  43.         txt_GetByName.Text += put + "\r\n";  
  44.     }  
  45. }  

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

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


该例子的完整代码下载地址:http://download.csdn.net/source/3512865


原创粉丝点击