QT: не понятно куда девается значение xmlReader.readElementText() (QXMLStreamReader)

160
19 января 2020, 19:20

Доброе! Есть следющий код:

QString tmpres;
qDebug() << "----------";
qDebug() << xmlReader.name();
tmpres=xmlReader.readElementText();
qDebug() << "tmpres:"+tmpres;
qDebug() << "readElementText:"+xmlReader.readElementText();

В консоль выводит:

"sbss_new_me" 
"tmpres:30" 
"readElementText:" 

Не понимаю, куда делось значение xmlReader.readElementText(), строчкой выше было равно 30??

Answer 1

Не понимаю, куда делось значение xmlReader.readElementText(), строчкой выше было равно 30??

Похоже, функция readElementText считала текущий элемент, вернула его, и перешла к следующему. Или уже закончился документ и считывать нечего.

Проверяйте считыватель на xmlReader.atEnd(). Еще можно проверять текущий токен через xmlReader.tokenType() или xmlReader.tokenString(), чтобы понять, когда парсер закончил.

READ ALSO
Как можно получить размер файла

Как можно получить размер файла

Я получаю параметры с командной строки cmd и вывожу их, затем нужно найти в этой папке с которой запущен скрипт файл с наибольшим размером,...

154
Ошибка C2864 при работе с OpenCV

Ошибка C2864 при работе с OpenCV

Кто сталкивался с данной проблемой при работе с OpenCV? Язык С++, работаю в VS2013

155
Многопоточная обработка файлов в Qt C ++

Многопоточная обработка файлов в Qt C ++

Как организовать многопоточную обработку файлов (открытие, сбор данных, закрытие) из массива QFileInfoList?

153
Проблема с вектором в C++

Проблема с вектором в C++

Есть вот такой класс Student

140