tinyxml2
走调的鱼
从来都是菜鸟,一直在学习。
展开
-
tinyxml2源码分析-1
换一种方式来对源码分析,从零开始“写”一个tinyxml2。提前郑重声明,本博客所有大tinyxml代码都直接copy自tinyxml源码。在开始分析源码前,如下图所示,是tinyxml2的各个主要类型,XMLAttribute其实是一个单向链表,放在后面实现。tinyxml2把xml文档建立成一棵DOM树,具体实现用的是firstchild–nextsiblingtree,如原创 2016-09-25 17:10:03 · 1085 阅读 · 0 评论 -
tinyxml2源码分析-2
我们实现了XMLNode,接下来我们实现XMLTextclass XMLText : public XMLNode{ friend class XMLDocument;public: virtual XMLText* ToText(){ return this; } virtual const XMLText* ToText() const{ return this;原创 2016-09-25 20:04:53 · 1089 阅读 · 2 评论 -
tinyxml2源码分析-3
有了所有的子节点,可以开始编写LoadFile的代码了,XMLError是个枚举类型,一般而言,先定义一个枚举,同时定义XML_SUCCESS=0,因为成功不需要理由,失败者总是需要借口。等到编码到后期再添加错误码。XMLError XMLDocument::LoadFile( const char* filename ){ Clear(); FILE* fp = cal原创 2016-09-26 21:50:05 · 969 阅读 · 0 评论 -
tinyxml2源码分析-4
接下来分析写文件,这个简单,使用visitor设计模式来实现,visitor接口如下,注意Element的visit接口,传入了XMLAttribute指针 来遍历Attributeclass XMLVisitor{public: virtual ~XMLVisitor() {} /// Visit a document. virtual bool VisitEn原创 2016-09-28 21:02:43 · 741 阅读 · 1 评论 -
tinyxml2使用方法
最近项目中使用到xml,最终选用了tinyxml2,学习后写个使用总结。原创 2016-09-25 16:23:54 · 4912 阅读 · 1 评论