FBReader源代码分析(一) eXpat XML解析机制分析

本文通过分析FBReader项目中的ZLXMLReader,探讨了C++如何利用eXpat库进行XML解析。通过创建C风格的回调函数,结合C++的类成员函数,实现C库与C++类的交互。在解析XML时,eXpat调用C++类的startElementHandler和endElementHandler,将解析内容传递给用户自定义的CallBackUserData类,便于进一步处理。
摘要由CSDN通过智能技术生成

    阅读开源项目FBReader 程序源码的时候,发现ZLXMLReader在解析XML时,采用了一种特殊的机制。解析时,进入XML TAG和退出XML TAG时,C++类ZLXMLReader的startElementHandler 和 endElementHandler 类成员函数被eXpat (C语言实现的XML解析库) 函数不停的调用。我仔细查看了一下,并仿写了一个类似的机制。

   

//CB.h

  

 

//CB.cpp

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值