Auf dieser Seite

QXmlReader Class

Die Klasse „QXmlReader“ stellt eine Schnittstelle für XML-Leser (d. h. Parser) bereit. Mehr...

Kopfzeile: #include <QXmlReader>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat
Vererbt an:

QXmlSimpleReader

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Funktionen

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

Ausführliche Beschreibung

Diese abstrakte Klasse stellt eine Schnittstelle für alle XML-Reader von Qt bereit. Derzeit ist im Qt XML-Modul nur eine Implementierung eines Readers enthalten: QXmlSimpleReader. In zukünftigen Versionen könnten weitere Reader mit unterschiedlichen Eigenschaften verfügbar sein (z. B. ein validierender Parser).

Das Design der XML-Klassen folgt der SAX2-Java-Schnittstelle, wobei die Namen an die Qt-Namenskonventionen angepasst wurden. Für jeden, der bereits mit SAX2 gearbeitet hat, sollte der Einstieg in die „ Qt XML “-Klassen sehr einfach sein.

Alle Reader verwenden die Klasse ` QXmlInputSource `, um das Eingabedokument zu lesen. Da Sie in der Regel an bestimmten Inhalten im XML-Dokument interessiert sind, gibt der Reader diese Inhalte über spezielle Handler-Klassen weiter (`QXmlDTDHandler`, ` QXmlDeclHandler`, ` QXmlContentHandler`, ` QXmlEntityResolver`, ` QXmlErrorHandler ` und ` QXmlLexicalHandler`), die Sie unterklassen müssen, wenn Sie die Inhalte verarbeiten möchten.

Da die Handler-Klassen lediglich Schnittstellen beschreiben, müssen Sie alle Funktionen implementieren. Um dies zu vereinfachen, stellen wir die Klasse ` QXmlDefaultHandler ` zur Verfügung: Sie implementiert ein Standardverhalten (keine Aktion) für alle Funktionen, sodass Sie eine Unterklasse davon erstellen und nur die Funktionen implementieren können, die für Sie von Interesse sind.

Funktionen und Eigenschaften des Readers können mit ` setFeature()` bzw. ` setProperty()` festgelegt werden. Mit ` setEntityResolver()`, ` setDTDHandler()`, ` setContentHandler()`, ` setErrorHandler()`, ` setLexicalHandler()` und ` setDeclHandler()` können Sie den Reader so einstellen, dass er Ihre eigenen Unterklassen verwendet. Das Parsen selbst wird mit einem Aufruf von ` parse()` gestartet.

Beachten Sie, dass diese Klasse mittlerweile veraltet ist. Verwenden Sie zum Einlesen von XML-Dateien bitte QXmlStreamReader oder QDomDocument.

Siehe auch QXmlSimpleReader.

Dokumentation der Mitgliedsfunktionen

[virtual noexcept] QXmlReader::~QXmlReader()

Zerstört den Leser.

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

Gibt den DTD-Handler zurück oder „ nullptr “, falls keiner festgelegt wurde.

Siehe auch „ setDTDHandler()“.

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

Gibt den Content-Handler zurück oder „ nullptr “, falls keiner festgelegt wurde.

Siehe auch ` setContentHandler()`.

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

Gibt den Deklarationshandler zurück oder „ nullptr “, falls keiner festgelegt wurde.

Siehe auch ` setDeclHandler()`.

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

Gibt den Entity-Resolver zurück oder „ nullptr “, falls keiner festgelegt wurde.

Siehe auch setEntityResolver().

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

Gibt den Fehlerbehandler zurück oder „ nullptr “, falls keiner festgelegt ist.

Siehe auch setErrorHandler().

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

Wenn der Reader über die Eigenschaft „ name “ verfügt, wird der Wert dieser Eigenschaft zurückgegeben. Wenn keine solche Eigenschaft vorhanden ist, ist der Rückgabewert undefiniert.

Wenn „ ok “ nicht „ nullptr “ ist: „ * “ „ok “ wird auf „true“ gesetzt, wenn der Reader über die Funktion „ name “ verfügt; andernfalls „ * “ „ok “ auf „false“.

Siehe auch setFeature() und hasFeature().

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

Gibt „ true “ zurück, wenn der Reader über die Funktion „ name “ verfügt; andernfalls wird „ false “ zurückgegeben.

Siehe auch „ feature()“ und „ setFeature()“.

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

Gibt „ true “ zurück, wenn der Reader die Eigenschaft „ name “ besitzt; andernfalls wird „ false “ zurückgegeben.

Siehe auch „ property()“ und „ setProperty()“.

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

Gibt den lexikalischen Handler zurück oder „ nullptr “, falls keiner festgelegt wurde.

Siehe auch ` setLexicalHandler()`.

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

Liest ein XML-Dokument von input ein und analysiert es. Gibt true zurück, wenn die Analyse erfolgreich war; andernfalls wird false zurückgegeben.

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

Wenn der Reader über die Eigenschaft „ name “ verfügt, gibt diese Funktion den Wert der Eigenschaft zurück; andernfalls ist der Rückgabewert undefiniert.

Wenn ` ok ` nicht ` nullptr` ist: Wenn der Reader über die Eigenschaft ` name ` verfügt, wird ` * ` auf `true` gesetzt; andernfalls wird ` * ` auf `false` gesetzt.ok und `ok `.

Siehe auch setProperty() und hasProperty().

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

Setzt den Inhalts-Handler auf „ handler “.

Siehe auch contentHandler().

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

Setzt den DTD-Handler auf „ handler “.

Siehe auch DTDHandler().

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

Setzt den Deklarations-Handler auf „ handler “.

Siehe auch declHandler().

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

Setzt den Entity-Resolver auf „ handler “.

Siehe auch entityResolver().

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

Setzt den Fehlerbehandler auf „ handler “. Löscht den Fehlerbehandler, wenn „ handler “ den Wert 0 hat.

Siehe auch errorHandler().

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

Setzt die Funktion „ name “ auf den angegebenen Wert „ value “. Verfügt das Lesegerät nicht über diese Funktion, geschieht nichts.

Siehe auch „ feature()“ und „ hasFeature()“.

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

Setzt den lexikalischen Handler auf „ handler “.

Siehe auch lexicalHandler().

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

Setzt die Eigenschaft „ name “ auf „ value “. Verfügt der Reader nicht über diese Eigenschaft, geschieht nichts.

Siehe auch „ property()“ und „ 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.