大坡3D软件开发

关注3D软件技术

蔡军生ID:caimouse
1065343次访问,排名22好友197人,关注者224
C++,3D,VC++软件开发,写技术文章,操作系统开发
caimouse的文章
原创 573 篇
翻译 0 篇
转载 41 篇
评论 699 篇
蔡军生的公告

点击这里给我发消息

MSN: caimouse1976 at sina.com

最近评论
csdas22as:蔡军生先生才对。
csdas22as:蔡军生,对不起呀,名字写错了。
cxdzxc:如果能进行内存测试和启动显卡,悬赏更高!
cxdzxc:悬赏1000元,请楼主给一个清空BIOS,点亮键盘灯的代码,QQ号740347821,邮箱750347821@QQ.COM,电话:13639342048
zhangjie830621:蔡老师,好久没有在Q上看到你,今天又从你的BLOG上,受益了!
文章分类
收藏
相册
3D引擎
第二人生
开发板
历史回忆
常用连接
C++大师Stan Lippman(RSS)
MCU连接(RSS)
REACTOS开发网(中国)
人生历程
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky

原创 第二人生的源码分析(六十五)Expat XML解析器的介绍收藏

新一篇: 第二人生的源码分析(六十六)使用Expat XML解析器的例子 | 旧一篇: 第二人生的源码分析(六十四)类LLCurlEasyRequest实现Http请求

互联网发展得很快,都是源自于使用了超文本的表达方式。比如你查看一篇文章,看到不懂的关键字,就可以通过链接去查看它的内容,看完之后再回来接着看原来的东西,这样比较适合学习的方式。使用HTML标记的文本,是结构化储存的,这样的表达方式才可以实现超级连接。由于HTML具有超强的表达能力,也就在互联网上生存下来,那么人们就会想到能不能使用这种方式来保存所有需要保存的内容呢?慢慢地就开发XML标记语言,用来保存任意想保存的内容。由于XML具有HTML同样的功能,并且不限定标记,这样就可以表达所有的东西了。并且XML是基于树形结构的,想表达的信息就可以采用归类树的方式来组织内容了,这样能产生灵活可变的内容管理方式。比如在第二人生里采用参数配置文件,也是选择XML来保存的,并且使用expat的XML解析器来实现这方面的内容。接着下来,我们就来了解一下expat是什么东东,又是怎么样调用它来解析XML文件的。
 
expat是使用C编写的XML解释器,采用流的方式来解析XML文件,并且基于事件通知型来调用分析到的数据,并不需要把所有XML文件全部加载到内存里,这样可以分析非常大的XML文件。由于expat库是由XML的主要负责人James Clark来实现的,因此它是符合W3C的XML标准的。
 
使用expat库是非常简单的,只需要了解四个函数,就可以达到80%的功能了,看来设计这个库还是比较好的。那么需要了解那四个函数呢?这四个函数如下:
XML_ParserCreate 创建一个XML分析器。
XML_SetElementHandler 设置处理标记开始和结束的处理函数。
XML_SetCharacterDataHandler 设置处理不同字符集的数据。
XML_Parse 分析给出的缓冲区XML数据。
通过调用上面四个函数就可以实现expat调用了,使用它就是这么方便简单的。下一次再带你来看看怎么样用它写一个简单的例子。

发表于 @ 2008年05月18日 11:00:00|评论(loading...)|编辑

新一篇: 第二人生的源码分析(六十六)使用Expat XML解析器的例子 | 旧一篇: 第二人生的源码分析(六十四)类LLCurlEasyRequest实现Http请求

评论

#agstsvhhd 发表于2008-05-20 13:03:55  IP: 59.49.206.*
是使用C编写的XML解释器,采用流的方式来解析XML文件,并且基于事件通知型来调用分析到的数据,并不需要把所有XML文件全部加载到内存里,这样可以分析非常大的XML文件。由于expat库是由XML的主要负责人James Clark来实现的,因此它是符合W3C的XML标准的。
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 蔡军生