c++ - 从服务器接收 xml 结果

标签 c++ qt qt4

在 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/

相关文章:

c++ - 用VC++函数构建DLL无法访问

c++ - 为什么我可以在没有调用 CoInitializeEx 的情况下调用 StringFromCLSID?

c++ - QKeyEvent keyPressEvent 没有检测到方向键?

Qt 4.8,Visual Studio 2013 编译错误

c++ 11 std数组-gcc和visual studio之间的区别

c++ - 如何使用链表节点修改另一个链表

c++ - 内联结构用法

Qt如何检查QtableWidget中的状态复选框

c++ - 如果我将编译器优化标志添加到我的应用程序中,我是否也应该使用相同的标志重建我的工具包?

c++ - Qt Scroll Area 不添加滚动条