一个C#操作XML文件的简单类库

 

有一次看到一个同志写的网站后台,操作XML文件方法比较生硬,就写了一个简单的操作XML的类。

有兴趣的同志可以下载了看看,如果对您有帮助的话小弟倍感荣幸

https://files.cnblogs.com/zhhh/zhh.Xml.rar

这是源码,bin目录中有生成的类库,是.net2.0的项目

 

有高手有兴趣了给指点一下,谢谢了

 

-----------------------

下面是这个类的说明,总体来说非常简单:

======================================================

XMLReader类的主要功能是:从某个XML文件的某个节点中读取或设置一个属性,或一个子节点的文本,或一个对象(对象属性对应该节点的同名子节点)

XMLReader类中包含下面几个功能(方法):

1、根据一个属性名获取一个属性的值

2、根据一个节点名获取一个节点的文本

3、获取一个指定类型的对象

4、根据属性名和属性值设置一个属性的值

5、根据节点名和节点值设置一个节点的文本

6、设置一个对象

 

比如有一个XML文件存放路径是D:\jj.xml,文件内容如下:

<?xml version="1.0"?>
<Root>
<Man>
<Name>XiaoBei</Name>
<Age>25</Age>
<IsMale>False</IsMale>
</Man>
</Root>

你可以先引入命名空间zhh.Xml

然后使用下面方法创建一个XMLReader对象

XMLReader xr =new XMLReader("D:\jj.xml", "Root/Man");

这句话的意思是将XMLReader对象定位到D:\jj.xml文件下的Root节点下的Man节点,以后的操作都将针对该节点执行。

 

 

执行完上面的对象声明语句以后,就可以直接使用它了。

比如,这个语句可以为当前节点添加一个名为name的Xml节点属性,值为ok。

xr.SetAttribute("name", "ok");

执行完以后XML文件就变成这个样子了:

<?xml version="1.0"?>
<Root>
<Man name="ok">
<Name>XiaoBei</Name>
<Age>25</Age>
<IsMale>False</IsMale>
</Man>
</Root>

当然,使用下面语句就可以将刚才写入XML文件的ok读取出来

string v = xr.GetAttribute("name");

如果要改变当前节点下的Name子节点中的值,可以使用下面这条语句

xr.SetChildNodeText("Name", "XiaoBei");

同样,使用这条语句可以把刚才存入的值语取出来

string v = xr.GetChildNodeText("Name");

最基本的两个功能完了,下面看一个稍微复杂一点的功能:

比如有如下实体类:

publicclass Man
{
publicstring Name { get; set; }
publicint Age { get; set; }
publicbool IsMale { get; set; }
}

我们使用这个语句就可以直接把XML文件中的内容读取出来(将子节点中的内容直接封装到对象对应的属性中):

Man m = xr.GetObjectByClassPath(new Man().GetType().ToString()) as Man;

同样,也可以直接将下面这个对象保存到当前节点下:

Man m =new Man() { Age =25, IsMale =false, Name ="XiaoBei" };
xr.SetObject(m);

不过,在进行对象反射的时候暂时只支持基本类型的数据操作

 

 

posted @ 2010-12-14 18:49  小浩叔叔  阅读(5464)  评论(8编辑  收藏  举报