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

 

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

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

http://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 " );

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

比如有如下实体类:

public class Man
{
public string Name { get ; set ; }
public int Age { get ; set ; }
public bool 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);

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

 

 

你可能感兴趣的:(xml)