Afaik, QTextEdit::toHtml() always returns valid html (see qDebug() << textEdit->toHtml() for the actual content).

Perhaps domDoc->setContent(textEdit->toPlainText()) is what you are looking for?