Экспорт QWebFrame в xhtml

Мы злоупотребляем 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 с самозакрывающимися тегами?


person wutzebaer    schedule 19.08.2016    source источник


Ответы (1)


Это тупик. Он не будет переносим на QWebEngine и, как видите, не совсем работает.

Вместо этого вы должны выполнить итерацию DOM из javascript, и вы можете создать там xhtml.

person Kuba hasn't forgotten Monica    schedule 19.08.2016