QtXML ne fait pas de mise en réseau elle-même. Il fonctionne sur QIODevices, qui est une interface générique pour tout ce qui fait des E/S (fichiers, sockets réseau, ...). Vous pouvez soit télécharger le fichier XML vers le fichier temporaire, puis l'analyser, ou, si vous effectuez une analyse incrémentielle, par exemple. en utilisant QXmlStreamReader, analyser les données directement à son arrivée:
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkReply* reply = QNetworkAccessManager::get(manager->get(QNetworkRequest(QUrl("http://www.foo.com/example.xml"))) ;
QXmlStreamReader reader(reply);
//...parse
Notez que QXmlStreamReader::PrematureEndOfDocumentError s peuvent se déclarerait lors de l'analyse, s'il n'y a pas assez de données téléchargées encore. Vous pouvez soit vous connecter au signal readyRead() de la réponse pour continuer, soit utiliser reply-> waitForReadyRead() si vous effectuez l'analyse en dehors du thread d'interface utilisateur.
"Cette classe est obsolète, elle est fournie pour garder l'ancien code source en état de marche, nous vous déconseillons vivement de l'utiliser dans un nouveau code." (http://doc.qt.nokia.com/latest/qhttp.html#details) – anno
J'ai mis à jour les codes. – Naszta