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

时间:2012-01-02 00:53:13

标签: c++ html wrapper html-helper

  

可能重复:
  C++ HTML template framework, templatizing library, HTML generator library

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

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

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

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

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

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);

有类似的项目吗?

1 个答案:

答案 0 :(得分:3)

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

This page展示了如何使用TinyXML构建XML(或在您的案例中为HTML)文档。

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