[英]Save QNetworkReply
我希望能夠將QNetworkReply保存到QString / QByteArray。 在我看到的例子中,他們總是將流保存到另一個文件中。
目前我的代碼看起來像這樣,我從主機獲取一個字符串,我想要做的就是解析它以查找指定的錯誤代碼。
if(_reply->error() == QNetworkReply::UnknownContentError) {
qDebug() << _reply->readAll(); // prints out the xml message
QString test = QString(_reply->readAll());
qDebug() << test; // ""
QByteArray test2 = QByteArray(_reply->readAll());
qDebug() << test2; // ""
QRegExp rxlen("(<code>)(.*(?=</code>))");
rxlen.setMinimal(true);
int pos = rxlen.indexIn(test); // pos == -1
if(pos > -1) {
qDebug() << rxlen.cap(2); // never hit
}
}
消息非常小,看起來像這樣:
<?xml version="1.0" encoding="utf-8"?>
<error>
<code>string-value</code>
<message>string-value</message>
</error>
那么如何將這個小流加載到內存中,或者只是查找錯誤代碼?
QNetworkReply繼承自QIODevice,這是一個流。 從流中讀取內容后,它就不再存在了。 在你的調試行之后(一個用// prints out the xml message
注釋),沒有什么可讀的了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.