мб я xml неправильно написал?
когда с файлом работал, все хорошо было, сейчас в конструктор reader(QXmlStreamReader) передаю строку, убираю все лишние символы(пробелы, \t, \n)
у вас проблема в том, что readNextStartElement возвращает false, когда найден закрывающий тэг, а вы это никак не проверяете. т.е. надо в условии reader->name() == "..." Добавить && reader->isStartElement() например
Попробую починить, благодарю
while (!reader->atEnd()) { if (reader->isStartElement()) { if (reader->name() == "cell") { reader->readNext(); while (reader->name() != "cell") { if (reader->name() == "id" && reader->isStartElement()) { list[row][column].push_back(reader->readElementText()); } else if (reader->name() == "height" && reader->isStartElement()) { list[row][column].push_back(reader->readElementText()); } else { reader->readNext(); } } column += 1; if (list[0].size() <= column){ column = 0; row += 1; } } else { reader->readNext(); } } else { reader->readNext(); } } да, переписал полностью считывание, думал, шо readNextStartElement сам ищет новый открытый тег:D пасиба!1!
rtfm, как говорится😂
читал(
да имхо можно было и readNextSartElement оставить так то...
Обсуждают сегодня