C++ 从C结构生成HTML页面

C++ 从C结构生成HTML页面,c++,C++,我想开发一个应用程序(我更喜欢c++),它将以包含大量嵌套结构的c头文件作为输入,并生成一个html页面,其中的数据将显示为分层树结构,可以折叠 文件.h file.html [+]1级 我可以将Level 1折叠如下 [-] level1 [-] level2 [+] level3 这是为了学习,我不知道从哪里开始。很少有指针真正有用。在IE中查看XML页面时,它使用XSLT将其转换为这种可折叠的树结构。可通过在地址栏中输入以下内容查看此XSL: res://msxm

我想开发一个应用程序(我更喜欢c++),它将以包含大量嵌套结构的c头文件作为输入,并生成一个html页面,其中的数据将显示为分层树结构,可以折叠

文件.h file.html [+]1级

我可以将Level 1折叠如下

[-] level1
    [-] level2
        [+] level3

这是为了学习,我不知道从哪里开始。很少有指针真正有用。

在IE中查看XML页面时,它使用XSLT将其转换为这种可折叠的树结构。可通过在地址栏中输入以下内容查看此XSL:

res://msxml.dll/DEFAULTSS.XSL
我个人会使用类似的方法来解决你的问题,但是如果你必须使用C++,你可以使用上面的方法来了解需要什么标记。
编辑-我之前应该提到,如果要使用XSL方法,需要将头文件预处理为xml。这听起来可能有些冗长,但这两个层意味着您可以切换xsl以改变它在屏幕上的显示方式,同时保持将要显示的内容分开排列的代码。对于一个简单的测试项目来说,过度工程化是可能的。

您可能想要签出ctagsDOxygen,因为它们从各种源代码文件创建HTML用于文档目的。可能有你需要的,CTAGS肯定会有C++绑定。

最难的部分是解析C头文件。将为您实现这一点,输出一个XML结构,然后对其进行简单的解析。

您可以使用的解析器。它应该有一个非常好的API。

嗨,克里斯,我在输入时发现页面找不到错误res://msxml.dll/DEFAULTSS.XSL 地址:巴里耐特。什么版本的IE?我用的是7。你在8号吗?还有其他一些方法可以做到这一点——这里:我还需要补充一点,您需要对头文件进行一些预处理,以使其能够被XSL读取。我以前应该指出这一点。我发布的用于查看源XSL的链接仅在IE中有效。使用XSLT将XML转换为HTML将在任何浏览器中都有效(撇开浏览器差异不谈),然后您可以使用XSLT::邪恶地笑着:+1。。很好,我不知道那是存在的。可能有助于将C代码库合并到错误报告系统中。
res://msxml.dll/DEFAULTSS.XSL