1
QNetworkReply를 QString/QByteArray에 저장하고 싶습니다. 내가 본 예에서 그들은 항상 스트림을 다른 파일에 저장합니다.QNetworkReply 저장
내 코드는 다음과 같이 보입니다. 호스트에서 문자열을 가져오고 싶습니다. 지정된 코드를 찾기 위해 구문 분석을 수행하고 싶습니다.
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>
그래서 어떻게 메모리에이 작은 스트림을로드 할 수 있습니다, 아니면 그냥 오류 코드를 찾을를?
당신은 아직 너무 빨리 답변을 받아 들일 수 없습니다. :) – chikuba
더 구체적으로 말하자면, 그것은 순차적 접근 QIODevice이고 결과는 "한 번 읽은 다음에 사라집니다"행동입니다 . 자세한 내용은 [QNetworkReply] (http://qt-project.org/doc/qt-5/qnetworkreply.html)를 참조하십시오. –