Bonjour,
J'ai crée une appli toute simple et basique qui ouvre un fichier xml et le lit. Je voulais afficher une partie du contenu du fichier XML mais je n'obtiens rien.
J'ai donc simplifier mon code au maximum pour trouver l'erreur, et je ne la trouve pas.
Voici une partie du code de mainwindow.cpp
le fichier xml que j'essaie d'ouvrir :
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 void MainWindow::ouvrir(){ QString filename=QFileDialog::getOpenFileName(this,tr("Ouvrir un fichier"),".",tr("Fichiers XML (*.xml)")); if (!filename.isEmpty()){ lireXML(filename); } } void MainWindow::lireXML(const QString &filename){ QFile xml_doc(filename); if (!xml_doc.open(QFile::ReadOnly|QFile::Text)){ QMessageBox::warning(this,"Info","erreur"); return; } dom=new QDomDocument(); if (!dom->setContent(&xml_doc)){ xml_doc.close(); QMessageBox::warning(this,"Info","erreur de lecture du fichier xml"); return; } //lecture possible du fichier si ici QXmlStreamReader xml; xml.setDevice(&xml_doc); while (!xml.atEnd()){ xml.readNext(); if (xml.isStartElement()){ nom="essai3"; } nom="essai2"; } QMessageBox::information(this,"Info",nom); xml_doc.close(); }
Lorsque je clique sur le bouton ouvrir de mon appli, je sélectionne le fichier xml en question et je n'ai aucune erreur de lecture qui ressort.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <info> </info>
Normalement mon qmessagebox que j'ai crée pour trouver l'erreur devrait m'afficher "essai3"
Or il ne m'affiche que essai2.
J'ai donc l'impression que la lecture du fichier xml ne se fait pas.
J'ai regardé les tutos du site, la doc QT, l'exemple du Bookmark xml reader sur la doc QT et j'ai l'impression de bien faire mais ça ne marche pas.
Merci par avance de votre aide
Fabien
Partager