Russian Qt Forum
Сентябрь 21, 2024, 13:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перемещение по xml документу вверх  (Прочитано 3003 раз)
EverGreen
Гость
« : Сентябрь 11, 2009, 18:05 »

Здравствуйте .
Возникла следующая проблема .Есть 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 документа ??

« Последнее редактирование: Сентябрь 12, 2009, 12:20 от EverGreen » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 20.