代码改变世界

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

2011-12-03 13:28  Andrew.Wangxu  阅读(1453)  评论(0编辑  收藏  举报

很久没碰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://files.cnblogs.com/andrew-blog/CodeTest.rar

 

参考:http://www.wxzzz.com/?id=44