在 qt 下,我使用 QTcpSocket 向服务器发送查询。 我将收到一个 xml 结果。 我使用 QLabel 来显示 xml 内容。
我试过这样的。
QDataStream ini(&sock);
QString result;
in >> result;
ui->label->setText(result);
很抱歉我无法提供结果,因为 stackoverflow 不允许我发布图片。
但是我得到了一些乱七八糟的代码而不是 xml。这是什么原因?
虽然很少见,但有时我会收到一些http响应词。 如果您能告诉我如何操作,我将不胜感激。
也许是我显示xml内容的方式弄得乱七八糟的代码。我很困惑。:)
最佳答案
1) 来自服务器的数据不是数据流格式。所以你不能使用 QDatastream 读取它。直接使用 sock->read()/sock->readAll() 代替。
2) 确保在纯文本模式下使用 QLabel:
label->setTextFormat( Qt::PlainText )
不过,使用 QTextBrowser(也与 setPlainText 一起使用)会更有用,并且会为您提供更具可读性和更易于导航的输出。
关于c++ - 从服务器接收 xml 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10943871/