Описание класса QXmlResultItems [модуль QtXmlPatterns]
Класс QXmlResultItems служит для итеративного обхода результатов исполнения XQuery в QXmlQuery. Далее...
#include <QXmlResultItems> Замечание: все функции этого класса реентерабильны.
Этот класс был введён в Qt 4.4.
Открытые функции
Подробное описание
Класс 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()) {
item = result.next();
}
if (result.hasError())
;
}
Из-за того, что функции next() позволено лениво создавать последовательность результатов запроса, может произойти ошибка при вызове next(). Если случается ошибка, и next(), и current() вернут нулевой QXmlItem, а hasError() будет возвращать true.
QXmlResultItems можно рассматривать как "iterator", который может проходить последовательность результатов один раз в одном направлении - только вперёд. Каждый вызов функции next() переводит итератор к следующему элементу QXmlItem в последовательности и возвращает его, а current() всегда возвращает QXmlItem, который next() вернула при последнем вызове.
Смотрите также QXmlItem::isNode(), QXmlItem::isAtomicValue() и QXmlNodeModelIndex.
Описание функций-членов
QXmlResultItems::QXmlResultItems ()
Создаёт экземпляр QXmlResultItems.
QXmlResultItems::~QXmlResultItems () [virtual]
Уничтожает экземпляр QXmlResultItems.
QXmlItem QXmlResultItems::current () const
Возвращает текущий элемент. Текущим элементом считается тот, который был последним возвращён функцией next().
Возвращает нулевой QXmlItem, если нет связанных QXmlQuery.
bool QXmlResultItems::hasError () const
Вернёт true, если в процессе исполнения запроса произошла ошибка.
Если запрос выполнился, вернёт false.
QXmlItem QXmlResultItems::next ()
Возвращает следующий результат в очереди с помощью ленивого исполнения связанного запроса. Когда возвращается нулевой QXmlItem, возможена одна из двух причин - вычисление завершилось нормально без результата или произошла ошибка. Вызовите hasError() для определения, что было причиной возвращения нулевого элемента - нормальное окончание работы или ошибка.
Возвращает нулевой QXmlItem, если нет связанных QXmlQuery.
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Торговые марки |
Qt 4.5.3 |
|