Spec-Zone.ru › Qt 5.11

Класс 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() вернут нулевой 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().

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

bool QXmlResultItems::hasError() const

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

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

QXmlItem QXmlResultItems::next()

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

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

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

Spec-Zone.ru

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