【发布时间】:2012-07-31 15:57:40
【问题描述】:
我有一个表示如下的结构:(示例)
struct struct3
{
struct structchild4
{
float child5;
} child6;
unsigned int child7;
};
我希望它在 XML 中表示如下:
<tag1= "struct3">
<name>struct3</name>
<input_type>byte</input_type>
<method></method>
<tag_ref = "structchild4">
<name>child6</name>
</tag_ref>
<tag2= "child7">
<name>child7</name>
<len>4</len>
<value> </value>
</tag2>
</tag1>
我遵循的方法是将其转换为 gccXML 格式,然后使用 Visual C++ 对其进行解析。我使用 xerces-c DOM 解析器。
有人能建议如何去做吗?对此进行温和的反弹。无论如何我可以发送我的代码吗?它巨大并且超过了字符限制。谢谢!
【问题讨论】:
-
我不确定您的问题是什么,您将使用 gccXML 解析头文件并使用 Xerces DOM 解析器解析生成的 XML,我说对了吗?,您是什么确切地问?
-
手头的任务是将 C/C++ 头文件转换为指定的 XML 格式。因此,我对头文件进行了以下操作: 1) 使用 gccXML 将头文件转换为 gccXML 格式 2) 使用 Xerces-c DOM Parser 解析生成的 XML。我想尝试反射。 gccXML 没有足够的信息来构建所需的 XML。我觉得。谢谢!
-
是的,@GearoidMurphy 你是对的。
-
“gccXML 没有足够的信息”。你确定吗?它缺少什么信息?如果它确实缺少信息[您展示了一个我期望不在 gccXML 导出的 type 信息中的“大小”示例],那么您将面临艰难的选择:a) 修改 gccXML 本身(开源! ) 添加您需要的信息,b) 切换到可以提供此信息的其他一些基础设施。
-
...当您获得“理想”的 XML 输出时,然后呢? “反射”与此有什么关系,除非您的意思是“反射是获取代码库信息的一种手段”?
标签: c++ visual-c++ reflection