小编dev*_*low的帖子

htmlcxx API用法

我正在使用htmlcxx库来读取HTML文件并生成包含其他内容的相同HTML文件.

我可以毫无问题地阅读该文件,但只是发出原始HTML文件并未正确包含结束标记.也就是说,当我简单地迭代并输出整个DOM时,不会发出结束标记.

我知道有closingText()一个节点的接口(参见参考资料Node.h),但我似乎无法找到一种方法来使用它让我做我需要的东西.

这是我如何倾销DOM:

it = dom.begin();
end = dom.end();
for (; it != end; ++it)
{
    cout << it->text();
} 
Run Code Online (Sandbox Code Playgroud)

以上给了我:

<div>
    <li>
       <div>
(blank)
(blank)
(blank)
<div>
(blank)
Run Code Online (Sandbox Code Playgroud)

对于以下html:

<div>
    <li>
        <div>
        </div>
    </li>
</div>
<div>
</div>
Run Code Online (Sandbox Code Playgroud)

除了更改代码之外我还能做些什么吗?

html c++

5
推荐指数
1
解决办法
2882
查看次数

Clang API解析析构函数

我使用clang API(版本3.1 - 主干153913)编译一些非常简单的代码,如下所示:

class MyClass
{
   ~MyClass() ;

};

MyClass::~MyClass()
{

}

int main()
{
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我收到错误消息:test.cpp:20:10:错误:析构函数不能有返回类型 MyClass::~MyClass()

如果有人可以指出我的方向很好.如果将析构函数定义为类内联,则编译正常.

注意我也可以使用clang ++编译:-bash-4.1 $ clang ++ test.cpp

因此,我的clang API使用中必须存在一个设置.任何人都可以表明可能是什么.我一直在寻找缺少的选项/配置.

这是我的clang API用法:

// Include appropriate headers. 
int main()
{
    clang::DiagnosticOptions diagnosticOptions;
    diagnosticOptions.ShowColors=1;
    diagnosticOptions.ShowOptionNames=1;
    clang::TextDiagnosticPrinter *pTextDiagnosticPrinter =
       new clang::TextDiagnosticPrinter(
           llvm::outs(),
           diagnosticOptions);
    llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> pDiagIDs;
    clang::DiagnosticsEngine *pDiagnosticsEngine =
       new clang::DiagnosticsEngine(pDiagIDs, pTextDiagnosticPrinter);

    clang::LangOptions languageOptions;
    languageOptions.GNUMode = 1;
    languageOptions.CXXExceptions = 1;
    languageOptions.RTTI = 1;
    languageOptions.Bool = 1;
    languageOptions.CPlusPlus = 1;
    clang::FileSystemOptions fileSystemOptions;
    clang::FileManager fileManager(fileSystemOptions);

    clang::SourceManager …
Run Code Online (Sandbox Code Playgroud)

c++ api clang

1
推荐指数
1
解决办法
829
查看次数

标签 统计

c++ ×2

api ×1

clang ×1

html ×1