Доброе! Есть следющий код:
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??
Не понимаю, куда делось значение xmlReader.readElementText(), строчкой выше было равно 30??
Похоже, функция readElementText считала текущий элемент, вернула его, и перешла к следующему. Или уже закончился документ и считывать нечего.
Проверяйте считыватель на xmlReader.atEnd(). Еще можно проверять текущий токен через xmlReader.tokenType() или xmlReader.tokenString(), чтобы понять, когда парсер закончил.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей