Я использую Qt :: QDomDocument для разбора html. Вот простой код:
QDomDocument doc("doc");
QByteArray data = "<div><br />“Of course, Jason. My thoughts, exactly.”<br /></div>";
QString sErrorMsg;
int errLine, errCol;
if (!doc.setContent(data, &sErrorMsg, &errLine, &errCol)) {
qDebug() << sErrorMsg;
qDebug() << errLine << ":" << errCol;
return;
}
QDomNodeList nodeList = doc.elementsByTagName("br");
for (int i = 0; i < nodeList.size(); ++i) {
qDebug() << nodeList.at(i).toDocument().toString();
}
nodeList.at(i)
всегда возвращает пустую строку. И я попробовал другой подход:
auto child = doc.firstChild();
while (!child.isNull())
{
qDebug() << child.toDocument().toString();
child = child.nextSibling();
}
Также не сработало.