QXmlReader Class
La clase QXmlReader proporciona una interfaz para lectores XML (es decir, analizadores sintácticos). Más...
| Cabecera: | #include <QXmlReader> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat)target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake: | QT += core5compat |
| Heredado Por: |
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| 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 |
Descripción Detallada
Esta clase abstracta proporciona una interfaz para todos los lectores XML de Qt. Actualmente sólo hay una implementación de lector incluida en el módulo XML de Qt: QXmlSimpleReader. En futuras versiones podría haber más lectores con diferentes propiedades disponibles (por ejemplo, un analizador de validación).
El diseño de las clases XML sigue la interfaz Java SAX2, con los nombres adaptados para ajustarse a las convenciones de nomenclatura de Qt. Debería ser muy fácil para cualquiera que haya trabajado con SAX2 empezar con las clases Qt XML.
Todos los lectores utilizan la clase QXmlInputSource para leer el documento de entrada. Como normalmente estás interesado en un contenido particular del documento XML, el lector informa del contenido a través de clases manejadoras especiales (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler y QXmlLexicalHandler), que debes subclasificar, si quieres procesar el contenido.
Como las clases manejadoras sólo describen interfaces, debes implementar todas las funciones. Proporcionamos la clase QXmlDefaultHandler para hacer esto más fácil: implementa un comportamiento por defecto (no hacer nada) para todas las funciones, por lo que puedes subclasificarla y sólo implementar las funciones que te interesen.
Las características y propiedades del lector pueden configurarse con setFeature() y setProperty() respectivamente. Puede configurar el lector para que utilice sus propias subclases con setEntityResolver(), setDTDHandler(), setContentHandler(), setErrorHandler(), setLexicalHandler() y setDeclHandler(). El análisis se inicia con una llamada a parse().
Tenga en cuenta que esta clase está obsoleta, por favor utilice QXmlStreamReader o QDomDocument para leer archivos XML.
Véase también QXmlSimpleReader.
Documentación de las funciones miembro
[virtual noexcept] QXmlReader::~QXmlReader()
Destruye al lector.
[pure virtual] QXmlDTDHandler *QXmlReader::DTDHandler() const
Devuelve el manejador DTD o nullptr si no se ha establecido ninguno.
Véase también setDTDHandler().
[pure virtual] QXmlContentHandler *QXmlReader::contentHandler() const
Devuelve el gestor de contenidos o nullptr si no se ha establecido ninguno.
Véase también setContentHandler().
[pure virtual] QXmlDeclHandler *QXmlReader::declHandler() const
Devuelve el manejador de la declaración o nullptr si no se ha establecido ninguno.
Véase también setDeclHandler().
[pure virtual] QXmlEntityResolver *QXmlReader::entityResolver() const
Devuelve la entidad resolutora o nullptr si no se ha establecido ninguna.
Véase también setEntityResolver().
[pure virtual] QXmlErrorHandler *QXmlReader::errorHandler() const
Devuelve el manejador de errores o nullptr si no hay ninguno.
Véase también setErrorHandler().
[pure virtual] bool QXmlReader::feature(const QString &name, bool *ok = nullptr) const
Si el lector tiene la característica llamada name, se devuelve el valor de la característica. Si no existe, el valor devuelto es indefinido.
Si ok no es nullptr: *ok se pone a verdadero si el lector tiene la característica llamada name; en caso contrario *ok se pone a falso.
Véase también setFeature() y hasFeature().
[pure virtual] bool QXmlReader::hasFeature(const QString &name) const
Devuelve true si el lector tiene la característica llamada name; en caso contrario devuelve false.
Véase también feature() y setFeature().
[pure virtual] bool QXmlReader::hasProperty(const QString &name) const
Devuelve true si el lector tiene la propiedad name; en caso contrario devuelve false.
Véase también property() y setProperty().
[pure virtual] QXmlLexicalHandler *QXmlReader::lexicalHandler() const
Devuelve el manejador léxico o nullptr si no se ha establecido ninguno.
Véase también setLexicalHandler().
[pure virtual] bool QXmlReader::parse(const QXmlInputSource *input)
Lee un documento XML de input y lo analiza. Devuelve true si el análisis se ha realizado correctamente; en caso contrario, devuelve false.
[pure virtual] void *QXmlReader::property(const QString &name, bool *ok = nullptr) const
Si el lector tiene la propiedad name, esta función devuelve el valor de la propiedad; en caso contrario, el valor de retorno es indefinido.
Si ok no es nullptr: si el lector tiene la propiedad name * ok se pone a verdadero; en caso contrario *ok se pone a falso.
Véase también setProperty() y hasProperty().
[pure virtual] void QXmlReader::setContentHandler(QXmlContentHandler *handler)
Establece el gestor de contenidos en handler.
Véase también contentHandler().
[pure virtual] void QXmlReader::setDTDHandler(QXmlDTDHandler *handler)
Establece el manejador DTD en handler.
Véase también DTDHandler().
[pure virtual] void QXmlReader::setDeclHandler(QXmlDeclHandler *handler)
Establece el manejador de declaraciones en handler.
Véase también declHandler().
[pure virtual] void QXmlReader::setEntityResolver(QXmlEntityResolver *handler)
Establece el resolutor de entidades en handler.
Véase también entityResolver().
[pure virtual] void QXmlReader::setErrorHandler(QXmlErrorHandler *handler)
Establece el gestor de errores en handler. Borra el gestor de errores si handler es 0.
Véase también errorHandler().
[pure virtual] void QXmlReader::setFeature(const QString &name, bool value)
Establece la función name en la dirección value. Si el lector no tiene la función, no ocurre nada.
Véase también feature() y hasFeature().
[pure virtual] void QXmlReader::setLexicalHandler(QXmlLexicalHandler *handler)
Establece el manejador léxico en handler.
Véase también lexicalHandler().
[pure virtual] void QXmlReader::setProperty(const QString &name, void *value)
Establece la propiedad name a value. Si el lector no tiene la propiedad no pasa nada.
Véase también property() y 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.