Описание класса QXmlResultItems
|
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()) { // используем элемент item = result.next(); } if (result.hasError()) /* Ошибка времени выполнения! */; }
Из-за того, что функции next() позволено лениво создавать последовательность результатов запроса, может произойти ошибка при вызове next(). Если случается ошибка, и next(), и current() вернут нулевой QXmlItem, а hasError() будет возвращать true.
QXmlResultItems можно рассматривать как "iterator", который может проходить последовательность результатов один раз в одном направлении - только вперёд. Каждый вызов функции next() переводит итератор к следующему элементу QXmlItem в последовательности и возвращает его, а current() всегда возвращает QXmlItem, который next() вернула при последнем вызове.
Замечание: При использовании перегрузки QXmlQuery::evaluateTo() объектов QXmlResultItem для выполнения запроса предпочтительнее создать новый экземпляр этого класса для всех новых наборов результатов нежели повторно использовать старый экземпляр.
Смотрите также QXmlItem::isNode(), QXmlItem::isAtomicValue() и QXmlNodeModelIndex.
Создаёт экземпляр QXmlResultItems.
Уничтожает экземпляр QXmlResultItems.
Возвращает текущий элемент. Текущим элементом считается тот, который был последним возвращён функцией next().
Возвращает нулевой QXmlItem, если нет связанных QXmlQuery.
Вернёт true, если в процессе исполнения запроса произошла ошибка.
Если запрос выполнился, вернёт false.
Возвращает следующий результат в очереди с помощью ленивого исполнения связанного запроса. Когда возвращается нулевой QXmlItem, возможена одна из двух причин - вычисление завершилось нормально без результата или произошла ошибка. Вызовите hasError() для определения, что было причиной возвращения нулевого элемента - нормальное окончание работы или ошибка.
Возвращает нулевой QXmlItem, если нет связанных QXmlQuery.
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |