很久没碰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";
}
}
很简单吧,看着很多,其实都是在使用。
提取都是一句话的事情啦。
该例子的完整代码下载地址:http://download.csdn.net/source/3512865
也可以留下Email,我会第一时间发送到你邮箱的。
~
原文链接
查看评论
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110573.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...