Spec-Zone.ru › Qt 5.9

Класс QXmlResultItems

Класс QXmlResultItems итерирует результаты вычисления XQuery в QXmlQuery. Подробнее...

Заголовок: #include <QXmlResultItems>
qmake: QT += xmlpatterns
С момента: Qt 4.4
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются реентерабельными.

Публичные функции

QXmlResultItems()
virtual ~QXmlResultItems()
QXmlItem current() const
bool hasError() const
QXmlItem next()

Подробное описание

Класс QXmlResultItems итерирует результаты вычисления XQuery в QXmlQuery.

QXmlResultItems представляет результат вычисления связанного запроса как последовательность QXmlItems. Последовательность просматривается повторным вызовом next(), который фактически генерирует последовательность посредством ленивого вычисления запроса.

QXmlQuery query;
query.setQuery("<e/>, 1, 'two'");
QXmlResultItems result;

if (query.isValid()) {
    query.evaluateTo(&result);
    QXmlItem item(result.next());
    while (!item.isNull()) {
        // use item
        item = result.next();
    }
    if (result.hasError()) {
        /* Runtime error! */
    }
}

Следствием того, что next() генерирует последовательность при ленивом вычислении, является то, что ошибка запроса может произойти при любом вызове next(). Если произошла ошибка, как next(), так и current() вернут null QXmlItem, и hasError() вернёт true.

QXmlResultItems можно рассматривать как «итератор», который просматривает последовательность результатов запроса один раз в прямом направлении. Каждый вызов next() перемещает итератор к следующему QXmlItem в последовательности и возвращает его, а current() всегда возвращает QXmlItem, который next() возвратил в последний раз.

Примечание: При использовании перегрузки QXmlResultItems метода QXmlQuery::evaluateTo() для выполнения запроса рекомендуется создавать новый экземпляр этого класса для каждого нового набора результатов, а не повторно использовать старый экземпляр.

См. также QXmlItem::isNode(), QXmlItem::isAtomicValue() и QXmlNodeModelIndex.

Документация по членам-функциям

QXmlResultItems::QXmlResultItems()

Конструирует экземпляр QXmlResultItems.

[virtual] QXmlResultItems::~QXmlResultItems()

Уничтожает этот экземпляр QXmlResultItems.

QXmlItem QXmlResultItems::current() const

Возвращает текущий элемент. Текущий элемент — это последний элемент, который был сгенерирован и возвращён функцией next().

Возвращает null QXmlItem, если нет связанного QXmlQuery.

bool QXmlResultItems::hasError() const

Если во время вычисления запроса произошла ошибка, возвращается true.

Возвращает false, если вычисление запроса завершено успешно.

QXmlItem QXmlResultItems::next()

Возвращает следующий результат в последовательности, генерируемой ленивым вычислением связанного запроса. Когда возвращаемый QXmlItem равен null, либо вычисление завершилось нормально без создания другого результата, либо произошла ошибка. Вызовите hasError(), чтобы определить, был ли null-элемент вызван нормальным завершением или ошибкой.

Возвращает null QXmlItem, если нет связанного QXmlQuery.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qxmlresultitems.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API