来自互联网和Qt的XML文件

Max*_*rai 2 c++ xml qt parsing

我想在Qt中解析一些XML文件,但该文件位于Web中的某个服务器上.当我使用QML时,我能够使用XMLHttpRequest在互联网上获取文件地址的类(我需要的东西).

我只有一个想法:使用网络请求并直接下载该xml.这个想法可能是qt中的XML解析器中有一个特殊的接口,它接受来自互联网的xml路径?

Nas*_*zta 10

据我所知,你应该下载它.QHttp提供了将其下载到临时文件的简便方法.

QTemporaryFile temp_file;
QHttp http("example.com");
http.get("/your.xml",&temp_file);
Run Code Online (Sandbox Code Playgroud)

新版本(基于QNetworkAccessManager):

QNetworkAccessManager * manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(fileIsReady(QNetworkReply*)) );
manager->get(QNetworkRequest(QUrl("http://example.com/your.xml")));
...
void fileIsReady( QNetworkReply * reply)
{
  QTemporaryFile temp_file;
  temp_file.write(reply->readAll());
}
Run Code Online (Sandbox Code Playgroud)