xsd2ccC++代码生成器
Xsd2cc是一个霸气的C++代码生成器,直接从指定的XML数据格式定义文件(.xsd)生成对应的C++类代码,然后将这些代码和xsd2cc库结合(自带的),就可以非常方便的写XML数据解析了(未来准备自动生成)。Xsd2cc是基于C++的对象模型构建的,仅仅依赖libxml库,支持快速、高效的XML文档解析。Xsd2cc是由STL实现,无异常,无需手工内存管理,安全、可靠,简单易用。
根据作者大量调查分析,目前xsd2cc是此类场景下最好用的C++开源软件。如果你正在处理类似的场景,xsd2cc正是你需要的,千万不要错过。高效的自动化代码生成才是王道,才是应对变化的秘密武器。Xsd2cc在GPL下开源,欢迎使用和反馈。
Xsd2cc的主要产出物:
(1)xsd2cc: 可执行程序,用于从.xsd生成C++代码文件;
(2)libxsd2cc.a: 业务编写所需的静态库;
(3)xsd2cc.h: 业务编写需要的API文件(已include到自动生成的代码中)。
xsd2cc的主要特色:
(1)从指定的.xsd文件,生成高效的C++类代码,以解析xsd对应的各种XML数据;
(2)支持XML的序列化和反序列化操作。通俗的讲,就是XML的读和写;
(3)提供业务编写所需的静态库xsd2cc和自描述的API文件;
(4)构建于C++对象系统之上,仅依赖于C++ STL,无需手工内存管理,安全可靠;
(5)生成的代码遵从Google C++编码规范,表里如一;
(6)具备良好的跨平台移植能力(当然 Windows 除外):目前支持Linux, IBM AIX, HP-UX and Mac OS X。
(7)在GPL下开源。
具体的流程图,如下:(以 test.xsd 为例。红色内容为工具使用者需要供的部分。)
xsd2cc的缺点:
(1)仅针对C++应用。
xsd2cc的TODO:
(1)多文件处理支持:进一步优化xsd语法中 include和import的支持;
(2)自动化生成XML读写代码逻辑,减少用户编写代码的量;
(3)代码优化。
预知详情,请访问 http://xsd2cc.github.io 并参考 https://github.com/xsd2cc/xsd2cc/tree/master/tests 下的测试代码。
======== 更新 ===== 2015-04-18=======
(1)增加了部分Wiki文档,和简要的使用说明。(后续应该会写一个基于 gitbook 的使用手册)