(第十章)一个xml解析器和构造器
?????? 本章的前两节“10.1 状态机”、“10.2builder 模式”其实都涉及到设计模式里面的内容。
?????? 10.1状态机主要讲解如何绘制状态图,以及根据状态图编写代码,但是作者并没有用到state模式进行编码,而是采用了比较结构化的编码方式。关于如何使用state模式,见我的博客“设计模式”专题。
?????? 10.2 builder模式主要介绍了 Builder模式的使用,他比我在“设计模式”专题中的Builder讲解得清楚,因此很有借鉴意义。
?
?????? 这两节的内容都融汇在10.2节的代码中。这个代码的目的是要“解析”xml文件的信息;然后“处理”解析出来的信息。Builder模式的作用正是在将“解析xml_parser”和“处理xml_builder”数据的过程分离开来!
?
下面是代码导读:
Makefile
typedef.h
?
xml_parser.h?? xml解析器头文件
xml_parser.c?? xml解析器源码
?
xml_builder.h?? xml处理器接口
????????? xml_builder_dump.h和xml_builder_dump.c?? xml处理器实现之一(输出美化格式)
?
????????? xml_tree.h和xml_tree.c???????????????????????????????? xml树节点及其操作封装(下面要用到)
????????? xml_builder_tree.h和xml_builder_tree.c??????? xml处理器实现之二(构造xml树)
?
xml_parser_test.c??? 测试程序
?
?