Bonjour,
Je développe en ce moment une tite appli de gestion de films, et pour cela j'ai besoin de récupérer des info depuis internet. J'ai déjà réussi à parser le fichier xml en local, maintenant je voulais savoir comment faire depuis internet.
Est ce que je dois télécharger le xml d'abord ou est ce que je peut le lire directement ?
(si vous avez des suggestions également concernant mon parsage du xml qui doit pas être super bien codé, je suis preneur :p)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 QFile file("tmdb.xml"); if (!file.open(QIODevice::ReadOnly)) return; if (!doc.setContent(&file)) { //?tablit le document XML ? file.close(); //partir des donn?es du fichier (hi?rarchie, etc) return; } file.close(); QDomElement moviematches; QDomElement racine = doc.documentElement(); //renvoie la balise racine QDomNode noeud = racine.firstChild(); //renvoie la 1?re balise ? movie ? while(!noeud.isNull()) { //convertit le nud en ?l?ment pour utiliser les //m?thodes tagName() et attribute() moviematches = noeud.toElement(); //v?rifie la pr?sence de la balise ? movie ? if (moviematches.tagName() == "movies") { QDomNode noeud2 = moviematches.firstChild(); moviematches = noeud2.toElement(); if (moviematches.tagName() == "movie") { QDomNode noeud3 = moviematches.firstChild(); moviematches = noeud3.toElement(); while (!(moviematches.nodeName() == "name")) { noeud3 = noeud3.nextSibling(); //passe ? la movie suivante moviematches = noeud3.toElement(); } ui->label_25->setText(moviematches.firstChild().toText().data()); while (!(moviematches.nodeName() == "overview")) { noeud3 = noeud3.nextSibling(); //passe ? la movie suivante moviematches = noeud3.toElement(); } ui->label_24->setText(moviematches.firstChild().toText().data()); } } noeud = noeud.nextSibling(); //passe ? la movie suivante }
Merci![]()
Partager