The XML stream readers & writers are a bit too low-level for your purpose; you'd have to copy manually from the reader to the writer.
You're better off constructing a DOM document from your string and saving it. Something like this:
void MainWindow::displayMessage(QString message)
{
QString formattedOutput;
QDomDocument doc;
doc.setContent(message, false);
QTextStream writer(&formattedOutput);
doc.save(writer, 4); //or whatever indentation you want
ResponseTextEdit->append(formattedOutput);
}