Класс QXmlReader
Класс QXmlReader предоставляет интерфейс для XML-читателей (т.е. парсеров). Подробнее...
| Заголовок: | #include <QXmlReader> |
| qmake: | QT += xml |
| Наследуется от: |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые функции
| 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 |
Подробное описание
Класс QXmlReader предоставляет интерфейс для XML-читателей (т.е. парсеров).
Этот абстрактный класс предоставляет интерфейс для всех XML-читателей Qt. В настоящее время в модуле XML Qt реализован только один читатель: QXmlSimpleReader. В будущих версиях могут быть доступны другие читатели с различными свойствами (например, валидирующий парсер).
Конструирование XML-классов следует интерфейсу SAX2 Java с адаптацией имён для соответствия конвенциям Qt. Любой, кто работал с SAX2, легко освоит классы XML Qt.
Все читатели используют класс QXmlInputSource для чтения входного документа. Поскольку вы обычно заинтересованы в определённом содержании в XML-документе, читатель сообщает о нём через специальные обработчики (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler и QXmlLexicalHandler), которые необходимо переопределить, если вы хотите обработать содержимое.
Так как классы обработчиков описывают только интерфейсы, вы должны реализовать все функции. Для упрощения этой задачи мы предоставляем класс QXmlDefaultHandler, который реализует поведение по умолчанию (ничего не делать) для всех функций, поэтому вы можете расширить его и реализовать только интересующие вас функции.
Свойства и параметры читателя можно установить с помощью setFeature() и setProperty() соответственно. Вы можете установить собственные подклассы с помощью setEntityResolver(), setDTDHandler(), setContentHandler(), setErrorHandler(), setLexicalHandler() и setDeclHandler(). Сам парсинг запускается вызовом parse().
См. также QXmlSimpleReader.
Документация по функциям-членам
[virtual] QXmlReader::~QXmlReader()
Уничтожает читатель.
[pure virtual] QXmlDTDHandler *QXmlReader::DTDHandler() const
Возвращает обработчик DTD или 0, если он не установлен.
См. также setDTDHandler().
[pure virtual] QXmlContentHandler *QXmlReader::contentHandler() const
Возвращает обработчик содержимого или 0, если он не установлен.
См. также setContentHandler().
[pure virtual] QXmlDeclHandler *QXmlReader::declHandler() const
Возвращает обработчик объявления или 0, если он не установлен.
См. также setDeclHandler().
[pure virtual] QXmlEntityResolver *QXmlReader::entityResolver() const
Возвращает обработчик сущностей или 0, если он не установлен.
См. также setEntityResolver().
[pure virtual] QXmlErrorHandler *QXmlReader::errorHandler() const
Возвращает обработчик ошибок или 0, если он не установлен.
См. также setErrorHandler().
[pure virtual] bool QXmlReader::feature(const QString &name, bool *ok = nullptr) const
Если у читателя есть функция с именем name, возвращается её значение. Если такой функции нет, возвращаемое значение не определено.
Если ok не равен 0: *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
Возвращает обработчик лексического анализа или 0, если он не установлен.
См. также 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 не равен 0: если у ридера есть свойство 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-5.12/qxmlreader.html