QWebFrame导出xhtml

时间:2016-08-19 13:45:14

标签: c++ qt qt5.3

我们将QWebFrame滥用为html解析器

QString html = "<img src=\"input_213123dfh\" />";
QWebFrame* frame = htmlProcessor.mainFrame();
frame->setHtml(html);
QWebElementCollection inputs = frame->documentElement().findAll("img[src*=input_]");
foreach (QWebElement input, inputs) {
    input.setOuterXml(QString("<input type=\"text\" uuid=\"%1\" />").arg(input.attribute("src").section("_",1,1)));
}
html = frame->toHtml();

输出

<html><head></head><body><input type="text" uuid="213123dfh"></body></html>

我们的问题是输出中的输入标签不是自动关闭的。是否有可能获得带有自闭标签的HTML?

1 个答案:

答案 0 :(得分:0)

这是一个死胡同。它不会移植到QWebEngine,因为你可以看到它不起作用。

相反,你应该从javascript迭代DOM,你可以在那里发出xhtml。