QXmlReader Class
Die Klasse QXmlReader bietet eine Schnittstelle für XML-Leser (d.h. Parser). Mehr...
Kopfzeile: | #include <QXmlReader> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
qmake: | QT += core5compat |
Vererbt von: |
Hinweis: Alle Funktionen in 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 |
Detaillierte Beschreibung
Diese abstrakte Klasse bietet eine Schnittstelle für alle XML-Leser von Qt. Derzeit gibt es nur eine Implementierung eines Readers, der im XML-Modul von Qt enthalten ist: 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 sind. Es sollte für jeden, der mit SAX2 gearbeitet hat, sehr einfach sein, mit den Qt XML Klassen zu arbeiten.
Alle Reader verwenden die Klasse QXmlInputSource, um das Eingabedokument zu lesen. Da Sie normalerweise an bestimmten Inhalten im XML-Dokument interessiert sind, meldet der Reader den Inhalt über spezielle Handler-Klassen (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler und QXmlLexicalHandler), die Sie unterklassifizieren müssen, wenn Sie den Inhalt verarbeiten wollen.
Da die Handler-Klassen nur Schnittstellen beschreiben, müssen Sie alle Funktionen implementieren. Wir stellen die Klasse QXmlDefaultHandler zur Verfügung, um dies zu vereinfachen: Sie implementiert ein Standardverhalten (nichts tun) für alle Funktionen, so dass Sie sie unterklassifizieren und nur die Funktionen implementieren können, an denen Sie interessiert sind.
Merkmale und Eigenschaften des Lesers können mit setFeature() bzw. setProperty() eingestellt 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 nun veraltet ist. Bitte verwenden Sie QXmlStreamReader oder QDomDocument zum Lesen von XML-Dateien.
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
, wenn keiner gesetzt wurde.
Siehe auch setDTDHandler().
[pure virtual]
QXmlContentHandler *QXmlReader::contentHandler() const
Gibt den Content-Handler zurück oder nullptr
, wenn keiner gesetzt wurde.
Siehe auch setContentHandler().
[pure virtual]
QXmlDeclHandler *QXmlReader::declHandler() const
Gibt den Deklarationshandler zurück oder nullptr
, wenn keiner gesetzt wurde.
Siehe auch setDeclHandler().
[pure virtual]
QXmlEntityResolver *QXmlReader::entityResolver() const
Gibt den Entity Resolver zurück oder nullptr
, wenn keiner gesetzt wurde.
Siehe auch setEntityResolver().
[pure virtual]
QXmlErrorHandler *QXmlReader::errorHandler() const
Gibt die Fehlerbehandlung zurück oder nullptr
, wenn keine gesetzt ist.
Siehe auch setErrorHandler().
[pure virtual]
bool QXmlReader::feature(const QString &name, bool *ok = nullptr) const
Wenn der Leser über das Merkmal name verfügt, wird der Wert des Merkmals zurückgegeben. Ist kein solches Merkmal vorhanden, ist der Rückgabewert undefiniert.
Wenn ok nicht nullptr
ist: *
ok wird auf true gesetzt, wenn der Leser über das Merkmal name verfügt; andernfalls wird *
ok auf false gesetzt.
Siehe auch setFeature() und hasFeature().
[pure virtual]
bool QXmlReader::hasFeature(const QString &name) const
Gibt true
zurück, wenn der Leser ü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 Leser 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
, wenn keiner gesetzt wurde.
Siehe auch setLexicalHandler().
[pure virtual]
bool QXmlReader::parse(const QXmlInputSource *input)
Liest ein XML-Dokument von input und parst es. Gibt true
zurück, wenn das Parsen erfolgreich war; andernfalls false
.
[pure virtual]
void *QXmlReader::property(const QString &name, bool *ok = nullptr) const
Wenn der Leser die Eigenschaft name hat, gibt diese Funktion den Wert der Eigenschaft zurück; andernfalls ist der Rückgabewert undefiniert.
Wenn ok nicht nullptr
ist: wenn der Leser die Eigenschaft name hat, wird *
ok auf true gesetzt; andernfalls wird *
ok auf false gesetzt.
Siehe auch setProperty() und hasProperty().
[pure virtual]
void QXmlReader::setContentHandler(QXmlContentHandler *handler)
Setzt den Content-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 Deklarationshandler 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 Fehler-Handler auf handler. Löscht den Fehler-Handler, wenn handler gleich 0 ist.
Siehe auch errorHandler().
[pure virtual]
void QXmlReader::setFeature(const QString &name, bool value)
Setzt das Merkmal name auf die angegebene value. Verfügt der Leser 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. Wenn der Leser die Eigenschaft nicht hat, passiert nichts.
Siehe auch property() und hasProperty().
© 2025 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.