Sur cette page

QXmlReader Class

La classe QXmlReader fournit une interface pour les lecteurs XML (c'est-à-dire les analyseurs syntaxiques). En savoir plus...

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

QXmlSimpleReader

Remarque : 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, le module Qt XML ne contient qu’une seule implémentation de lecteur : QXmlSimpleReader. Dans les versions futures, d’autres lecteurs dotés de propriétés différentes pourraient être disponibles (par exemple, un analyseur syntaxique avec validation).

La conception des classes XML suit l'interface Java SAX2, les noms ayant été adaptés aux conventions de nommage de Qt. Toute personne ayant déjà travaillé avec SAX2 devrait pouvoir se familiariser très facilement avec les classes Qt XML.

Tous les lecteurs utilisent la classe ` QXmlInputSource ` pour lire le document d’entrée. Comme vous vous intéressez généralement à un contenu particulier du document XML, le lecteur transmet ce contenu via des classes de gestionnaires spécialisées (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler et QXmlLexicalHandler), dont vous devez créer des sous-classes si vous souhaitez traiter ce contenu.

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

Les fonctionnalités 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 syntaxique proprement dite est lancée par un appel à parse().

Notez que cette classe est désormais obsolète ; veuillez utiliser QXmlStreamReader ou QDomDocument pour lire les fichiers XML.

Voir également QXmlSimpleReader.

Documentation des fonctions membres

[virtual noexcept] QXmlReader::~QXmlReader()

Cela bouleverse le lecteur.

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

Renvoie le gestionnaire 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'erreurs 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 dispose de la fonctionnalité appelée « name », la valeur de cette fonctionnalité est renvoyée. Si cette fonctionnalité n'existe pas, la valeur renvoyée est indéfinie.

Si « ok » n'est pas « nullptr » : *ok est défini sur « true » si le lecteur dispose de la fonctionnalité appelée « name » ; sinon, *ok est défini sur « false ».

Voir également 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 également 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 également property() et setProperty().

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

Renvoie 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 l'adresse input et l'analyse. Renvoie true si l'analyse s'est déroulée avec succès ; sinon, renvoie false.

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

Si le lecteur dispose de la propriété name, cette fonction renvoie la valeur de cette propriété ; dans le cas contraire, la valeur renvoyée est indéfinie.

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

Voir également setProperty() et hasProperty().

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

Définit le gestionnaire de contenu sur handler.

Voir également contentHandler().

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

Définit le gestionnaire DTD sur handler.

Voir également DTDHandler().

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

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

Voir également declHandler().

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

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

Voir également entityResolver().

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

Définit le gestionnaire d'erreurs sur handler. Efface le gestionnaire d'erreurs si handler est égal à 0.

Voir aussi errorHandler().

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

Définit la fonctionnalité appelée « name » sur la valeur indiquée value. Si le lecteur ne dispose pas de cette fonctionnalité, aucune action n'est effectuée.

Voir également feature() et hasFeature().

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

Définit le gestionnaire lexical sur handler.

Voir aussi lexicalHandler().

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

Définit la propriété « name » sur « value ». Si le lecteur ne dispose pas de cette propriété, rien ne se passe.

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