Всем привет. Делаю простенький парсер xml файла в qt, но код не идет дальше строчки
if(xmlReader.isStartElement())
. Отладчик на точке остановки не двигается дальше по коду. Вот код полностью:
class Maket{
public:
QString name;
QString timeBegin;
QString timeCancel;
int statValue;
};
QFile file("maket.xml");
QList<Maket> maketList;
if(file.open(QIODevice::ReadOnly)){
QXmlStreamReader xmlReader;
xmlReader.setDevice(&file);
xmlReader.readNext();
while (!xmlReader.atEnd()) {
if(xmlReader.isStartElement()){
Maket maket;
if(xmlReader.name() == "measuringpoint"){
foreach (const QXmlStreamAttribute& attr, xmlReader.attributes()) {
if(attr.name().toString() == "name"){
maket.name = attr.value().toString();
}
}
}
else if(xmlReader.name() == "period"){
foreach (const QXmlStreamAttribute& attr, xmlReader.attributes()) {
if(attr.name().toString() == "start"){
maket.timeBegin = attr.value().toString();
}
}
}
else if(xmlReader.name() == "period"){
foreach (const QXmlStreamAttribute& attr, xmlReader.attributes()) {
if(attr.name().toString() == "end"){
maket.timeCancel = attr.value().toString();
}
}
}
else if(xmlReader.name() == "value"){
foreach (const QXmlStreamAttribute& attr, xmlReader.attributes()) {
if(attr.name().toString() == "value"){
maket.statValue = attr.value().toInt();
}
}
}
maketList.push_back(maket);
xmlReader.readNext();
}
file.close();
}
}
Подскажите в чем ошибка пожалуйста