Здравствуйте .
Возникла следующая проблема .Есть xml документ примерно след содержания
<myprogram version = "1.0">
- <Preferences page="one">
<first>true</first>
<second>false</second>
<third>true</third>
</Preferences>
- <Preferences page="two">
<myphotoLabel>d:\photo.png</myphotoLabel>
<myname_edit>name</myname_edit>
</Preferences>
</myprogram>
Время от времени нужно считывать значение из каждой секции Preferences и что записывать в
нее.
Использую наследник класса QXmlStreamReader .В нем есть метод setSection. Сначала вызываю
его , устанавливаю нужную секцию , затем читаю нужные мне элементы .
bool XPrefReader::setSection(QString section)
{
while(!atEnd()){
readNext();
if(isStartElement()) {
if(name()=="Preferences" && attributes().value("page") == section){
return true;
}
}
}
return false;
}
Ecли я устанавливаю сначала первую секцию затем вторую а затем снова первую , то последняя не устанавливается и этот метод возвращает false;
то есть парсер читает xml файл только вниз и хранит у себя значение текущей строки .
Как можно сбросить это значение , что бы при каждом вызове метода setSection парсер работал с начала xml документа ??