symbian XML 解析

本文介绍了Symbian系统下XML文件的多种解析方法,包括使用内置CParser类、移植TinyXml和SyExpat等开源库,以及自定义解析器的方式。重点讲解了CParser类的使用方法及关键回调函数。

Symbian下做xml解析的方法选择还是挺多

 

比如可以选择系统自带类CParser,具体用法可以参考http://wiki.forum.nokia.com/index.php/How_to_parse_XML_file_using_CParser_class

这个类可以用在3th和2rd fp2以上的版本,2rd sdk 中查不到CParser这个类,但是查不多不表示不能用!

 

也可以选择移值开源库做解析,比如使用DOM方法的TinyXml和使用SAX方式的SyExpat。

 

当然如果时间和自己能力允许,也可以写解析,那样可控制性更强!

 

S60提供的CParser类是一种基于SAX接口规范的事件驱动的数据流解析方式,解析过程中以回调事件为线索组织代码。CSenFragment等相关类是基于DOM的一套API,但其中的解析类CSenXmlReader内部实现使用的是Xml::CParser。
其使用可参考SDK例子AddressBook,该例用它们来访问WebServices。

 

 

CParser类中比较重要的几个回调函数包括:

 

OnStartElement/OnEndElement

这个回调会在解析器遇到元素头时进入(每碰到一个新tag会触发一个OnStartElement事件),然后我们就可以根据传入的参数取到当前元素的信息,如元素名称、属性值等,将它们保存在我们定义的数据成员中以备将来使用即可。


OnContent

碰到CDATA时,会触发一个OnContent,如果内容中包括"/n"符号,那么每个都会单独触发一OnContent事件。所以如果要取CDATA内容,只要把一串OnContent事件传出来的数据拼起来就可以了。

 

OnStartDocumentL

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值