ситуация, когда какой-то html не совсем проверяет xml, делает его хуже для правильной работы.
Если это допустимый xml (или не слишком плохо сформированный), я думаю, что QXmlStreamReader + QXmlStreamEntityResolver может быть не плохой идеей.
Пример кода в: https: // github. com / ycheng / misccode / blob / master / qt_html_parse / utils.cpp
(это может быть комментарий, но у меня все еще нет разрешения на это)