梦想的天堂

常用链接

统计

最新评论

XmlLite使用简单介绍

       最近因为项目的需要,将一个应用软件的底层XML处理模块进行重写,由MSDOM改用xmlLite来完成。XmlLite是微软专门针对C++使用者开发的一个轻量级开发包,只具备基本的I/O功能。提供了IXmlReader, IXmlWriter对XML文件进行简单的读写操作。原理很简单,在读一个文件时,循环读取各个节点,然后根据不同的节点类型读取其相关属性数据等。XMLLite中的数据类型主要封装在XmlNodeType中,常使用到的有XmlNodeType_None, XmlNodeType_Element,XmlNodeType_EndElement等。在写数据时,主要根据不同的节点类型,调用相关的API来完成。值得注意的是,由于XMLLite只提供顺序化写的功能,因此在写具有多个深度的节点类型时,需要控制好WriteEndElement()函数的出现顺序等,所以这些都可以通过函数的递归来完成。
        由于XmlLite只提供简单的读写等功能,因此,在实际应用中,需要对XMLLite提供的功能进行一定的封装,从而提供自己的API功能。下面简单说说我们采用的思路。在读Xml文件时,需要在加载过程建立XML文件的内部数据结构。这可以通过两种方式来完成,一种是在一个循环或者递归过程中,将整个XMLload进来;另外一种方法是一次只加载一层节点,然后递归加载其子节点。前面一种方法是在处理大XML文件时,可能会有memory footprint问题。所以最终采用了后面的方法。
       在实现过程中,我们采用了composite模式来组织XML文件树结构。通过使用list来建立树结构。全部操作封装在一个类中。
      有关相关原因,xmlLite的具体封装实现方法就不提及了。开发过程中,遇到的主要难点是数据的读写和保存,关键是数据结构的处理,其他部分都比较容易。
     这我开通blog后的第一篇文章,呵呵,也不知道怎么写好。以后会尽力写好点^_^.

posted on 2007-05-03 15:37 IT民工 阅读(3786) 评论(4)  编辑 收藏 引用

评论

# re: XmlLite使用简单介绍 2007-05-14 20:56 小石头

哈哈.顶:)
不会了再问你!!!  回复  更多评论   

# re: XmlLite使用简单介绍 2007-07-05 17:50 Ray

可否提供这两个文件给我?xmllite.lib xmllite.h
开发包重达1.2G,下载得下来,天都黑了。
kkkchen@21cn.com  回复  更多评论   

# re: XmlLite使用简单介绍 2007-07-05 19:02 IT民工

不好意思啊,Vista安装程序里面有,我家里电脑上面也没有,呵呵,可以去微软官方下载,很小的,加起来才几十K。  回复  更多评论   

# re: XmlLite使用简单介绍 2007-07-05 23:45 Ray

嗯,我有xmilite.dll,但是没有头文件,lib文件。
你讲的是dll文件,还是h文件跟lib文件呢?
lib,h文件在那里有下载,没找到。  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理