我有一个c程序,它从XML文件中获取其设置。目前我正在使用Xerces遍历数据,但将每个XML值映射到变量变得非常繁琐。
Java程序也读取了相同的XML,由于JAXB在Java中创建了所有必需的类,因此更加方便。我正在寻找可以创建“结构结构”或类似结构的类似东西。重要的是我得到c结构,而不是c ++类,因为这个代码将在GPU上运行。
我找到了“XML Booster”,我正在阅读它的文档。你知道其他选择吗?需要在linux中使用。
答案 0 :(得分:1)
我使用libxml库。您仍然需要遍历XML,但是您可以获得包含元素,属性,节点和子节点的链接列表,您可以遵循这些链接列表。
答案 1 :(得分:1)
鉴于您的XML文件具有通用模式,您可以使用Bison + Flex或简单地使用ANTLR(C运行时)来构造语法并将XML文件中的值提取到变量中。那些将使用纯C生成解析器,因此您无需担心。
答案 2 :(得分:0)
如果您有xml架构,请查看xsd codesynthesis。它为你的xsd生成了很好的c ++对象,你不需要直接处理xerces: http://www.codesynthesis.com/products/xsd/