如何将html文件存储在 c++ 变量中。
是否有特定的数据类型要存储
?
HTML 文件只是一个文本文件。所以你可以将它存储在一个字符串中(即const std::string htmlstring=
或const char htmlcontent[]=
如果您的 HTML 文件已经完全存在,这种方法是值得的。
使用C++11,您可以使用原始字符串文字(因此您可以将整个 HTML 文件复制粘贴到您的 C++2011 源代码中,而无需转义引号等...)。
当然,将 HTML 视为某种抽象语法树(如DOM)可能会让您感兴趣。您可以为此使用一些与 XML 相关的 C++ 库,或者您可以自己制作。
如果您想解析或生成“变化”的 HTML,我强烈建议您在程序中构建某种 AST。
在实践中解析 HTML 是很困难的。如果您可以限制为 XHTML(即 HTML 的 XML 变体),您可以使用一些现有的 XML 解析器库。
除此之外std::string
,您还可以使用std::stringstream
.
std::stringstream html;
html << "<html>....</html>";
可能取决于您想要什么 - 如果您只需要搜索它,则为字符串,如果您需要访问 DOM,则为嵌套地图,等等......