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

What is the best way to produce HTML output in C++?

本文关键字:最佳 方法 是什么 输出 HTML C++      更新时间:2023-10-16

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

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

琐碎的方式是如此令人作呕且容易出错:

std::stringstream ret;
ret << "<TABLE BORDER="1" CELLBORDER="0">n";
ret << "    <TR>n";
...

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

我想要一个具有以下语法或类似语法的静态类型 HTML 包装器C++

CHtmlHtml Html;
Html <<
    Body() % Id("1")
        << H1("My First Heading") <<
        << P("My first paragraph.");

或者在这种情况下

CHtmlTable table;
table % Border(1) % CellBorder(0) <<
    Tr() <<
        Td("Text") % Colspan(4);

有没有类似的项目?

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

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

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