这节讲一下如何使用C#操作xml文档。操作xml类的命名空间在System.Xml下。


   创建XML文件:

使用XmlDocument类来创建一个xml文档对象,我们通过对这个对象添加子元素来为xml文档添加元素。

由于xml文档需要文档声明:

使用C#进行XML文档读取_读取数据

所以在第一次创建xml文件的时候,我们要为文档对象添加这些声明,添加这些声明要使用XmlDocument.CreateXmlDeclaration()方法。调用AppendChild()方法将这个声明添加进去。

使用C#进行XML文档读取_读取数据_02

    另外,由于xml的节点都要包含在根标签中,还要添加根标签元素,根标签名称可以任意(一般为root),但是不能以数字开头(在编程领域,一般都不会允许数字开头的名称),调用CreateElement("标签名")创建一个元素,同样的,调用AppendChild()添加进去:

使用C#进行XML文档读取_标签名_03

如果是加载一个已有的xml文件,直接调用Load()方法即可:

使用C#进行XML文档读取_xml_04


    写入数据:

接下来,就可以往根标签中添加子元素存储数据了,使用CreateElement("标签名")创建一个元素,调用该元素对象的SetAttribute("属性名", "属性值")设置它的属性值,获取值就用GetAttribute("属性名")我们就通过这些属性来存放数据。

使用C#进行XML文档读取_xml文件_05

    添加完元素后,调用Save()方法,传入路径,就保存下来了,文档内容如下:

使用C#进行XML文档读取_xml文件_06


    读取数据:

    对xml文档的读取需要使用XmlReader类,使用XmlReader.Create("文档路径")加载一个xml文档。

调用read()方法开始读取数据(这类似于SqlDataReader类),返回值为bool读到最后返回false,根据name判断读到的标签是不是自己需要的,如果需要就调用GetAttribute()获取到它的属性值。调用完要关闭对象,或者向下图一样用using块自动释放。

使用C#进行XML文档读取_xml_07

     读取结果为: