FAQ Qt

FAQ QtConsultez toutes les FAQ
Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 15 juin 2021

Qt fournit, depuis sa version 4.3, la classe QXmlStreamReader qui permet de lire rapidement des fichiers XML un peu à la manière de SAX mais en non événementiel. Comme SAX, on parcourt l'arbre XML et l'on ne peut le remonter pendant son parcours. QXmlStreamReader repose sur le principe d'une boucle dans laquelle on va parcourir le fichier à l'aide de la méthode readNext() et vérifier sur quel type de token on est positionné.
<developpez>
<contributeur>
Superjaja</contributeur>
</developpez>
Si l'on parcourt le fichier avec la méthode readNext(), les différents types de jeton renvoyés sont :
- StartDocument ;
- StartElement (name() == "developpez") ;
- StartElement (name() == "contributeur") ;
- Characters (text() == "Superjaja") ;
- EndElement (name() == "contributeur") ;
- EndElement (name() == "developpez") ;
- EndDocument.
Pour connaître tous les types de tokens possibles, se référer à la documentation de Qt.
Voici un exemple un peu plus complexe
Qt, depuis sa version 4.3, fournit la classe QXmlStreamWriter pour écrire des fichiers XML. Celle-ci est relativement simple et fonctionne sur le même principe que QXmlStreamReader pour la lecture.
On souhaite écrire le fichier XML suivant :