Класс QXmlReader
Класс QXmlReader предоставляет интерфейс для чтения XML-документов (т.е. парсеров). Подробнее...
| Заголовок: | #include <QXmlReader> |
| CMake: | find_package(Qt6 COMPONENTS Core5Compat REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake: | QT += core5compat |
| Наследуется от: |
Примечание: Все функции в этом классе являются взаимоблокирующимися.
Открытые функции
| 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 |
Подробное описание
Этот абстрактный класс предоставляет интерфейс для всех XML-читателей Qt. В настоящее время в модуле XML Qt реализован только один читатель: QXmlSimpleReader. В будущих версиях могут быть доступны другие читатели с различными свойствами (например, валидирующий парсер).
Архитектура XML-классов следует SAX2 Java interface, с именами, адаптированными к соглашениям об именовании Qt. Для тех, кто работал с SAX2, работа с классами XML Qt должна быть очень простой.
Все читатели используют класс QXmlInputSource для чтения входного документа. Поскольку вы обычно заинтересованы в определенном содержимом XML-документа, читатель сообщает о содержимом через специальные обработчики (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler и QXmlLexicalHandler), которые вы должны подклассировать, если хотите обработать содержимое.
Поскольку классы-обработчики описывают только интерфейсы, вы должны реализовать все функции. Для облегчения этой задачи мы предоставляем класс QXmlDefaultHandler: он реализует стандартное поведение (ничего не делать) для всех функций, поэтому вы можете подклассировать его и просто реализовать функции, которые вас интересуют.
Функции и свойства читателя можно задать с помощью setFeature() и setProperty() соответственно. Вы можете задать использование собственных подклассов с помощью setEntityResolver(), setDTDHandler(), setContentHandler(), setErrorHandler(), setLexicalHandler() и setDeclHandler(). Само чтение запускается вызовом parse().
Обратите внимание, что этот класс устарел, пожалуйста, используйте QXmlStreamReader или QDomDocument для чтения XML-файлов.
См. такжеQXmlSimpleReader.
Документация функций-членов
[virtual] QXmlReader::~QXmlReader()
Удаляет читатель.
[pure virtual] QXmlDTDHandler *QXmlReader::DTDHandler() const
Возвращает обработчик DTD или nullptr если он не был задан.
См. также setDTDHandler().
[pure virtual] QXmlContentHandler *QXmlReader::contentHandler() const
Возвращает обработчик содержимого или nullptr если он не был задан.
См. также setContentHandler().
[pure virtual] QXmlDeclHandler *QXmlReader::declHandler() const
Возвращает обработчик объявления или nullptr если он не был задан.
См. также setDeclHandler().
[pure virtual] QXmlEntityResolver *QXmlReader::entityResolver() const
Возвращает обработчик сущностей или nullptr если он не был задан.
См. также setEntityResolver().
[pure virtual] QXmlErrorHandler *QXmlReader::errorHandler() const
Возвращает обработчик ошибок или nullptr если он не задан.
См. также setErrorHandler().
[pure virtual] bool QXmlReader::feature(const QString &name, bool *ok = nullptr) const
Если у читателя есть функция с именем name, возвращается значение функции. Если такой функции не существует, возвращаемое значение не определено.
Если ok не nullptr: *ok устанавливается в true, если у читателя есть функция с именем name; в противном случае *ok устанавливается в false.
См. также setFeature() и hasFeature().
[pure virtual] bool QXmlReader::hasFeature(const QString &name) const
Возвращает true если у читателя есть функция с именем name; в противном случае возвращает false.
См. также feature() и setFeature().
[pure virtual] bool QXmlReader::hasProperty(const QString &name) const
Возвращает true если у читателя есть свойство name; в противном случае возвращает false.
См. также property() и setProperty().
[pure virtual] QXmlLexicalHandler *QXmlReader::lexicalHandler() const
Возвращает обработчик лексических данных или nullptr если таковой не задан.
См. также setLexicalHandler().
[pure virtual] bool QXmlReader::parse(const QXmlInputSource *input)
Читает XML-документ из input и парсит его. Возвращает true если парсинг прошёл успешно; в противном случае возвращает false.
[pure virtual] void *QXmlReader::property(const QString &name, bool *ok = nullptr) const
Если у ридера есть свойство name, эта функция возвращает значение свойства; в противном случае возвращаемое значение неопределено.
Если ok не nullptr: если у ридера есть свойство name *ok устанавливается в true; в противном случае *ok устанавливается в false.
См. также setProperty() и hasProperty().
[pure virtual] void QXmlReader::setContentHandler(QXmlContentHandler *handler)
Устанавливает обработчик содержимого в handler.
См. также contentHandler().
[pure virtual] void QXmlReader::setDTDHandler(QXmlDTDHandler *handler)
Устанавливает обработчик DTD в handler.
См. также DTDHandler().
[pure virtual] void QXmlReader::setDeclHandler(QXmlDeclHandler *handler)
Устанавливает обработчик деклараций в handler.
См. также declHandler().
[pure virtual] void QXmlReader::setEntityResolver(QXmlEntityResolver *handler)
Устанавливает обработчик сущностей в handler.
См. также entityResolver().
[pure virtual] void QXmlReader::setErrorHandler(QXmlErrorHandler *handler)
Устанавливает обработчик ошибок в handler. Очищает обработчик ошибок, если handler равен 0.
См. также errorHandler().
[pure virtual] void QXmlReader::setFeature(const QString &name, bool value)
Устанавливает свойство name в заданное значение value. Если у ридера нет данного свойства, ничего не происходит.
См. также feature() и hasFeature().
[pure virtual] void QXmlReader::setLexicalHandler(QXmlLexicalHandler *handler)
Устанавливает обработчик лексических данных в handler.
См. также lexicalHandler().
[pure virtual] void QXmlReader::setProperty(const QString &name, void *value)
Устанавливает свойство name в значение value. Если у ридера нет данного свойства, ничего не происходит.
См. также property() и hasProperty().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qxmlreader.html