FAQ QtConsultez toutes les FAQ

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

 
OuvrirSommaireModulesQt XMLSAX
précédentsommairesuivant
 

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
Cacher/Afficher le codeSélectionnez
Parcours de ce fichier avec QXmlStreamReader
Cacher/Afficher le codeSé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
Cacher/Afficher le codeSélectionnez
Réalisation avec QXmlStreamWriter
Cacher/Afficher le codeSélectionnez
Mis à jour le 7 juillet 2009  par François Jaffré
précédentsommairesuivant
 

Les sources présentés sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une œuvre intellectuelle protégée par les droits d'auteurs. 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.