J'ai un petit souci dans la lecture d'un fichier XML.
Voici un exemple (tiré de la FAQ Qt) :

Code fichier xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<office:document-content>
    <site>
        <nom>developpez</nom>
        <url>www.developpez.com</url>
    </site>
    <contributeur>
        <nom faq="c++">AAA</nom>
    </contributeur>
    <contributeur>
        <nom faq="Qt">Toto</nom>
    </contributeur>
</office:document-content>

Code code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
from PyQt5.QtCore import QFile, QXmlStreamReader
file = QFile('monfichier.xml')
    file.open(QFile.ReadOnly | QFile.Text)
 
    reader = QXmlStreamReader()
    reader.setDevice(file)
 
    reader.readNext()
    while not reader.atEnd():
        print(1)
 
        reader.readNext()

Sauf erreur de ma part, ce code devrait lire le fichier xml du début à la fin et de token en token. Tant que cette fin de fichier n'est pas atteinte on affiche 1, soit si je compte bien 8 fois.

Malheureusement chez moi le 1 ne s'affiche qu'une seule fois

Alors soit je passe à coté d'un truc tellement gros que je ne le vois pas, ça il y a un truc qui déconne.

Qu'en pensez vous ?

@+

J
[EDIT]
J'ai trouvé mon erreur... en fait elle vient de ma première boucle.
si je remplace office:document-content par root ou même par office:document-content xmlns:office="namespace", ça fonctionne mieux

J'ai mis le doigt dessus en lisant la doc de Python et de son module xml.etree.ElementTree.
Ce qui m'amène a une autre interrogation : quelqu'un a-t-il déjà eu a comparer les deux versions (Qt ou Python) pour traiter du XML ?