IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
FAQ Qt FAQ Qt Creator FAQ PyQt & PySide

FAQ Qt

FAQ QtConsultez toutes les FAQ

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

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

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