Sur cette page

QXmlReader Class

La classe QXmlReader fournit une interface pour les lecteurs XML (c'est-à-dire les analyseurs). Plus d'informations...

En-tête : #include <QXmlReader>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake : QT += core5compat
Inherited By :

QXmlSimpleReader

Note : Toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

virtual ~QXmlReader()
virtual QXmlDTDHandler *DTDHandler() const = 0
virtual QXmlContentHandler *contentHandler() const = 0
virtual QXmlDeclHandler *declHandler() const = 0
virtual QXmlEntityResolver *entityResolver() const = 0
virtual QXmlErrorHandler *errorHandler() const = 0
virtual bool feature(const QString &name, bool *ok = nullptr) const = 0
virtual bool hasFeature(const QString &name) const = 0
virtual bool hasProperty(const QString &name) const = 0
virtual QXmlLexicalHandler *lexicalHandler() const = 0
virtual bool parse(const QXmlInputSource *input) = 0
virtual void *property(const QString &name, bool *ok = nullptr) const = 0
virtual void setContentHandler(QXmlContentHandler *handler) = 0
virtual void setDTDHandler(QXmlDTDHandler *handler) = 0
virtual void setDeclHandler(QXmlDeclHandler *handler) = 0
virtual void setEntityResolver(QXmlEntityResolver *handler) = 0
virtual void setErrorHandler(QXmlErrorHandler *handler) = 0
virtual void setFeature(const QString &name, bool value) = 0
virtual void setLexicalHandler(QXmlLexicalHandler *handler) = 0
virtual void setProperty(const QString &name, void *value) = 0

Description détaillée

Cette classe abstraite fournit une interface pour tous les lecteurs XML de Qt. Actuellement, il n'y a qu'une seule implémentation d'un lecteur incluse dans le module XML de Qt : QXmlSimpleReader. Dans les versions futures, il pourrait y avoir plus de lecteurs avec différentes propriétés disponibles (par exemple, un analyseur de validation).

La conception des classes XML suit l'interface Java SAX2, avec des noms adaptés aux conventions de nommage de Qt Designer. Il devrait être très facile pour toute personne ayant travaillé avec SAX2 de commencer avec les classes Qt XML.

Tous les lecteurs utilisent la classe QXmlInputSource pour lire le document d'entrée. Étant donné que vous êtes normalement intéressé par un contenu particulier du document XML, le lecteur rapporte le contenu par l'intermédiaire de classes de traitement spéciales (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler et QXmlLexicalHandler), que vous devez sous-classer si vous voulez traiter le contenu.

Étant donné que les classes de gestionnaires ne décrivent que des interfaces, vous devez implémenter toutes les fonctions. Nous fournissons la classe QXmlDefaultHandler pour faciliter cette tâche : elle implémente un comportement par défaut (ne rien faire) pour toutes les fonctions, de sorte que vous pouvez la sous-classer et n'implémenter que les fonctions qui vous intéressent.

Les caractéristiques et les propriétés du lecteur peuvent être définies respectivement avec setFeature() et setProperty(). Vous pouvez configurer le lecteur pour qu'il utilise vos propres sous-classes avec setEntityResolver(), setDTDHandler(), setContentHandler(), setErrorHandler(), setLexicalHandler() et setDeclHandler(). L'analyse proprement dite est lancée par un appel à parse().

Notez que cette classe est maintenant obsolète, veuillez utiliser QXmlStreamReader ou QDomDocument pour lire les fichiers XML.

Voir aussi QXmlSimpleReader.

Documentation des fonctions membres

[virtual noexcept] QXmlReader::~QXmlReader()

Détruit le lecteur.

[pure virtual] QXmlDTDHandler *QXmlReader::DTDHandler() const

Renvoie le gestionnaire de DTD ou nullptr si aucun n'a été défini.

Voir aussi setDTDHandler().

[pure virtual] QXmlContentHandler *QXmlReader::contentHandler() const

Renvoie le gestionnaire de contenu ou nullptr si aucun n'a été défini.

Voir aussi setContentHandler().

[pure virtual] QXmlDeclHandler *QXmlReader::declHandler() const

Renvoie le gestionnaire de déclaration ou nullptr si aucun n'a été défini.

Voir aussi setDeclHandler().

[pure virtual] QXmlEntityResolver *QXmlReader::entityResolver() const

Renvoie le résolveur d'entités ou nullptr si aucun n'a été défini.

Voir aussi setEntityResolver().

[pure virtual] QXmlErrorHandler *QXmlReader::errorHandler() const

Renvoie le gestionnaire d'erreur ou nullptr si aucun n'est défini.

Voir aussi setErrorHandler().

[pure virtual] bool QXmlReader::feature(const QString &name, bool *ok = nullptr) const

Si le lecteur possède la caractéristique appelée name, la valeur de cette caractéristique est renvoyée. Si cette caractéristique n'existe pas, la valeur renvoyée est indéfinie.

Si ok n'est pas nullptr: *ok est défini comme vrai si le lecteur possède la caractéristique appelée name; sinon *ok est défini comme faux.

Voir aussi setFeature() et hasFeature().

[pure virtual] bool QXmlReader::hasFeature(const QString &name) const

Renvoie true si le lecteur dispose de la fonctionnalité appelée name; sinon, renvoie false.

Voir aussi feature() et setFeature().

[pure virtual] bool QXmlReader::hasProperty(const QString &name) const

Renvoie true si le lecteur possède la propriété name; sinon, renvoie false.

Voir aussi property() et setProperty().

[pure virtual] QXmlLexicalHandler *QXmlReader::lexicalHandler() const

Retourne le gestionnaire lexical ou nullptr si aucun n'a été défini.

Voir aussi setLexicalHandler().

[pure virtual] bool QXmlReader::parse(const QXmlInputSource *input)

Lit un document XML à partir de input et l'analyse. Renvoie true si l'analyse est réussie, sinon renvoie false.

[pure virtual] void *QXmlReader::property(const QString &name, bool *ok = nullptr) const

Si le lecteur possède la propriété name, cette fonction renvoie la valeur de la propriété ; sinon, la valeur de retour est indéfinie.

Si ok n'est pas nullptr: si le lecteur possède la propriété name, *ok prend la valeur true ; sinon *ok prend la valeur false.

Voir aussi setProperty() et hasProperty().

[pure virtual] void QXmlReader::setContentHandler(QXmlContentHandler *handler)

Définit le gestionnaire de contenu à handler.

Voir aussi contentHandler().

[pure virtual] void QXmlReader::setDTDHandler(QXmlDTDHandler *handler)

Définit le gestionnaire de DTD à handler.

Voir aussi DTDHandler().

[pure virtual] void QXmlReader::setDeclHandler(QXmlDeclHandler *handler)

Définit le gestionnaire de déclaration à handler.

Voir aussi declHandler().

[pure virtual] void QXmlReader::setEntityResolver(QXmlEntityResolver *handler)

Définit le résolveur d'entités à handler.

Voir aussi entityResolver().

[pure virtual] void QXmlReader::setErrorHandler(QXmlErrorHandler *handler)

Définit le gestionnaire d'erreur à handler. Efface le gestionnaire d'erreur si handler vaut 0.

Voir aussi errorHandler().

[pure virtual] void QXmlReader::setFeature(const QString &name, bool value)

Définit l'élément appelé name à l'élément donné value. Si le lecteur ne possède pas cette fonctionnalité, rien ne se passe.

Voir aussi feature() et hasFeature().

[pure virtual] void QXmlReader::setLexicalHandler(QXmlLexicalHandler *handler)

Définit le gestionnaire lexical à handler.

Voir aussi lexicalHandler().

[pure virtual] void QXmlReader::setProperty(const QString &name, void *value)

Définit la propriété name en value. Si le lecteur n'a pas cette propriété, rien ne se passe.

Voir aussi property() et hasProperty().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.