C# 简单封装一个XML文件读取类
2013-02-16 19:31
183 查看
转自:http://blog.csdn.net/andrew_wx/article/details/6680353
很久没碰XML文件读写了,今天帮朋友写了一个相关的读取XML文件的操作类,封装成dll便于使用。
先说下需求吧:
A:在XML文件中有多个集,每个集里面包含多个节点。
B:可根据集的名字的取出这个集合下面的所有节点值
C:可一次性取出所有的节点值
D:其中有一个是无限拓展的就是:表达式
E:把集合读取到一个模型(实体类)当中
先来看下XML文件结构的分析如下(我用红色方块勾出区域划分):
![](http://hi.csdn.net/attachment/201108/11/0_1313073638Du96.gif)
这里既3个区域(3个集合)。
实际使用效果:
![](http://hi.csdn.net/attachment/201108/11/0_1313073716nZvP.gif)
要实现上面的效果,封装好了之后是很简单的。
一行代码即可获得数据。
以下是读取XML内容的代码片段:
[csharp] view
plaincopyprint?
//获取所有指令名 填充到控件
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";
}
}
很简单吧,看着很多,其实都是在使用。
提取都是一句话的事情啦。
该例子的完整代码下载地址:http://download.csdn.net/source/3512865
很久没碰XML文件读写了,今天帮朋友写了一个相关的读取XML文件的操作类,封装成dll便于使用。
先说下需求吧:
A:在XML文件中有多个集,每个集里面包含多个节点。
B:可根据集的名字的取出这个集合下面的所有节点值
C:可一次性取出所有的节点值
D:其中有一个是无限拓展的就是:表达式
E:把集合读取到一个模型(实体类)当中
先来看下XML文件结构的分析如下(我用红色方块勾出区域划分):
![](http://hi.csdn.net/attachment/201108/11/0_1313073638Du96.gif)
这里既3个区域(3个集合)。
实际使用效果:
![](http://hi.csdn.net/attachment/201108/11/0_1313073716nZvP.gif)
要实现上面的效果,封装好了之后是很简单的。
一行代码即可获得数据。
以下是读取XML内容的代码片段:
[csharp] view
plaincopyprint?
//获取所有指令名 填充到控件
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";
}
}
很简单吧,看着很多,其实都是在使用。
提取都是一句话的事情啦。
该例子的完整代码下载地址:http://download.csdn.net/source/3512865
相关文章推荐
- C# 简单封装一个XML文件读取类
- C# 简单封装一个XML文件读取类
- C# 简单封装一个XML文件读取类
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 用一个简单示例来说明C#中的继承、封装和多态
- 用一个简单示例来说明C#中的继承、封装和多态
- 封装一个简单的solrserver组件
- 一个简单封装好的item
- IOCP完成端口的一个简单封装类
- 用C#写一个简单的WINDOWS服务程序
- C# 一步一步完成一个简单的计算器 第二步---实现单目运算
- C# 一个WCF简单实例
- 深入浅出C#2008从入门到提高Step By Step(三)一个简单的控制台程序
- [转]使用C#开发一个简单的P2P应用
- 一个简单的C#消息队列示例
- 【Android】封装一个简单好用的打印Log的工具类
- c#一个简单的实例告诉你,多继承还可以这么来
- C#封装加密算法(MD5、SHA、HMAC、DES、RSA)的一个类
- (C#)一个WCF简单实例
- 无缝滚动的一个简单封装