bonjour, j'ai quelques problèmes pour récupérer des valeur dans un fichier xml, en utilisant Qt, je n'arrive pas à parser ce type de fichier avec Qt, pouvez vous m'éclaircir sur ce point?

Voici le fichier xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<database name=’Musique’>
<album name = ’April Uprising’ artist = ’The John Butler Trio’ image = ‘Images/JBT.png‘ buy=’true’>
<track number = ’01’ title = ’Revolution’ buy = ‘true’ interested = ‘true’/>
...
</album>
<album name = ’Junior’ artist = ’Kaki King’ image = ‘Images/KK.png’ buy = ’false’ interested = ‘true
...
</album>
</database>
voici la partie de mon code qui parse le fichier xml:
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
46
47
48
 
Xml_Dom::Xml_Dom() : QWidget()
{
 
	QDomDocument dom("mon_xml");
	QFile xml_doc("test.xml");
	if(!xml_doc.open(QIODevice::ReadOnly))
	{
		QMessageBox::warning(this, "Erreur à l'ouverture du document XML", "Le document XML n'a pas pu etre ouvert. Verifiez que le nom est le bon et que le document est bien place");
		return;
	}
	if (!dom.setContent(&xml_doc)) 
	{
     xml_doc.close();
     QMessageBox::warning(this, "Erreur a l'ouverture du document XML", "Le document XML n'a pas pu etre attribue a l'objet QDomDocument.");
     return;
	}
  unsigned int i=0;
  QString affichage;
  QDomNodeList tab;
  QDomElement album;
  QDomNode n;
  QMessageBox a(0);
  QDomElement racine = dom.documentElement();//renvoie la balise racine
  QDomNode noeud = racine.firstChild();//renvoie la 1ère balise « mesure »
 
  while(!noeud.isNull())
  {
	//convertit le nœud en élément pour utiliser les
	//méthodes tagName() et attribute()
	album = noeud.toElement();
 
	if (album.tagName() == "Musique")
	{
	  affichage = album.attribute("name");//récupère l’attribut
	  tab = mesure.childNodes();//crée un tableau des enfants de « album »
	  for(i=0;i<tab.length();i++)
	  {
		//pour chaque enfant, on extrait la donnée et on concatène
		n = tab.item(i);
		affichage = affichage + " " + n.firstChild().toText().data();
 
	  }
	  std::cout << qPrintable(affichage) << std::endl; on affiche pour voir si ça marche 
	}
	noeud = noeud.nextSibling();//passe à la “album” suivante
  }
}
Merci de votre compréhension