FAQ Qt FAQ Qt Creator FAQ PyQt & PySide

FAQ QtConsultez toutes les FAQ

Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 26 juillet 2017 

 
OuvrirSommaireModulesQt XMLSAX

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é.

Exemple avec le fichier XML
Sélectionnez
<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

Fichier XML
CacherSélectionnez
Parcours de ce fichier avec QXmlStreamReader
CacherSélectionnez
Mis à jour le 7 juillet 2009  par François Jaffré

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 :

Fichier XML
CacherSélectionnez
Réalisation avec QXmlStreamWriter
CacherSélectionnez
Mis à jour le 7 juillet 2009  par François Jaffré
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 - 2017 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.