这段时间写的项目每次都要用到xml保存一些配置,而每次操作xml都觉得挺麻烦,没有数据库那么顺手。后来发现用dataset操作xml很方便,而且灵活性比较好,于是写了一个操作xml的类,用来应付一般的xml操作(源码下载附件)。
1 基本思路
其实用dataset操作xml,归根到底就是对dataset里的表格,行,列等进行操作,然后用dataset里的东西重新写到xml中,从而实现编辑xml的目的。如果再配合上.xsd文件的话,那效果更佳。
2 程序详解
(1) xml文件内容
本类操作的xml和生成的xml格式是一样的,如下(点击查看代码1附件):(如出现中文乱码,请在浏览器查看选项的编码中选择”简体中文”)
然后点击xml文件右下角的“数据”,即可看到熟悉的表格形式,在表格的任意位置上单击右键选择“创建架构”,将会生成一个.xsd文件,该文件用来定义xml各列的类型。其内容如下(点击查看代码2附件):
注意:如果想像数据库一样有一个自动增长的id字段,则可以这样操作:
首先在xml中添加一个
以上代码如果看不懂并不要紧,因为我们可以通过dataset来生成这种格式的内容。接下来将开始操作xml。
(2) 处理xml文件路径
这里主要是对传入的xml路径进行处理,如果传入的是相对路径,则返回完整路径,如果传入的是完整路径,则不做处理直接返回。方法如下:
#region getxmlfullpath
/// <summary>
/// 返回完整路径
/// </summary>
/// <param name=”strpath”>xml的路径</param>
/// <returns></returns>
public static string getxmlfullpath(string strpath)
{
//如果路径中含有:符号,则认定为传入的是完整路径
if(strpath.indexof(“:”) > 0)
{
return strpath;
}
else
{
//返回完整路径
return system.web.httpcontext.current.server.mappath(strpath);
}
}
#endregion