从XML规范生成C++代码的代码生成器

8

我想知道是否有一种工具可以基于XML格式进行类定义。我不是在寻找数据绑定。有人能帮忙吗?

谢谢


1
一个简短的例子可以很好地说明你所询问的内容。 - anon
1
我猜他/她的意思是指一种能够从 XML 模式生成类或一组类 (可能是 POD 结构体) 的工具。 - jon hanson
我正在寻找一种工具,它可以让我使用XML规范定义类,并能够生成所有相关的文件和代码。 - lollancf37
4个回答

3

几年前我遇到了这个问题,我写了一个Python工具,可以在文本文件中执行嵌入的Python代码,以便我可以在C++中使用Python生成代码:http://nedbatchelder.com/code/cog/


1

我知道两个工具,它们都是商业产品。

http://www.codesynthesis.com/products/xsd/

http://www.codalogic.com/lmx/

  • 不比网站更了解

希望这可以帮助。

更新:

刚刚发现这个http://en.wikipedia.org/wiki/XML_data_binding#C.2B.2B

第二次更新:

太棒了,我已经寻找一个开源软件包来做这个任务很长时间了,你的问题刚好帮我找到它:

http://top.touk.pl/confluence/display/xmlbeansxxdoc/Introduction+to+xmlbeansxx http://top.touk.pl/confluence/download/attachments/458767/Manipulate_XML_Documents_in_CPP_with_xmlbeansxx.pdf


你好,我已经了解了codesynthesis,它可以从XML文件生成C++代码,但更多的是数据绑定,而不是生成C++类本身。我也知道codealogic,不确定它确切的作用,我计划在本周晚些时候尝试一下,你刚刚确认了我应该这样做^^很高兴我们能互相帮助。我认为我没有清楚地表达自己,我更多地是在寻找一种工具,可以自动从与C++交互和操作的XML文件中创建类的原型。但是这份PDF看起来很有趣,谢谢:) - lollancf37
好的,我正在寻找一个代码生成器,将XML模式转换为一组值对象类,以便读取和写入XML模式,因为我讨厌编写DOM操作代码。 - iain
抱歉,声称“Codesynthesis被gSOAP使用”是不正确的。gSOAP XML数据绑定工具比Codesynthesis更早出现。事实上,gSOAP为C和C++提供了XML数据绑定(类等)。gSOAP工具在工业界得到广泛应用,因为它符合行业标准和W3C XML数据绑定工作组的建议。 - Dr. Alex RE

0

你可能需要使用YACC或BISON。


确实需要一些解析,但 XML 解析不需要直接使用 YACC 或 BISON。 - lollancf37

0

不过我知道有些工具可以从UML生成代码,如果我发现自己在键入绘图模式时更加高效,那么这些工具可以解决我的问题。 - lollancf37

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接