在C++中生成HTML输出的最佳方法是什么?

Ind*_*ant 6 html c++ html-helper wrapper

可能重复:
C++ HTML模板框架,模板化库,HTML生成器库

我有一个包含许多表的程序,所以我想在调试程序时在日志文件中跟踪它们.我想要彩色的格式化输出,所以我想我是用HTML格式编写的.那么用C++创建HTML文件的最佳方法是什么?

琐碎的方式是如此恶心和容易出错:

std::stringstream ret;
ret << "<TABLE BORDER=\"1\" CELLBORDER=\"0\">\n";
ret << "    <TR>\n";
...
Run Code Online (Sandbox Code Playgroud)

所以我认为我写了一个HTML包装器,但我认为有这么多原因.

我希望在C++中使用这种语法或类似的静态类型HTML包装器:

CHtmlHtml Html;
Html <<
    Body() % Id("1")
        << H1("My First Heading") <<
        << P("My first paragraph.");
Run Code Online (Sandbox Code Playgroud)

或者在这种情况下

CHtmlTable table;
table % Border(1) % CellBorder(0) <<
    Tr() <<
        Td("Text") % Colspan(4);
Run Code Online (Sandbox Code Playgroud)

有没有类似的项目?

小智 4

HTML 和 XML 都使用相同的语法,因此您只需使用 C++ XML 库(例如 TinyXML)即可动态创建所需的所有节点。

本页展示如何使用 TinyXML 构建 XML(或在您的情况下为 HTML)文档。

您可能需要做一些修改(例如删除生成文件顶部的 XML 声明),但我认为您可以轻松地为其创建一个包装器。