Russian Qt Forum

Qt => XML => Тема начата: dware от Июнь 16, 2010, 18:26



Название: чтение XML документа.
Отправлено: dware от Июнь 16, 2010, 18:26
Здравствуйте.
Есть такая функция для считывания из файла *.xml:
Код:
void MainWindow::load()
{
    QDomDocument domDoc;
    QFile file("scene.xml");
    if(domDoc.setContent(&file))
    {
        ...
    }
    file.close();
}
domDoc.setContent(&file) возвращает почему-то 0, хотя файл существует (exists == true при дебагинге).
Думаю, ошибка в структуре XML-документа, но он был создан не вручную, а тоже с помощью Qt:
Код:
<!DOCTYPE Scene>
<Scene>
 <Cooperation>
  <Position>
   <2664,2597/>
  </Position>
  <Connection types>
   <Realization>
    <Connected with>
     <2375,2511/>
    </Connected with>
   </Realization>
  </Connection types>
 </Cooperation>
 <Comment>
  <Position>
   <2653,2427/>
  </Position>
  <Connection types/>
 </Comment>
 <Object>
  <Position>
   <2375,2511/>
  </Position>
  <Connection types>
   <Assotiation>
    <Connected with>
     <2653,2427/>
    </Connected with>
   </Assotiation>
  </Connection types>
 </Object>
</Scene>
что тут не так?


Название: Re: чтение XML документа.
Отправлено: UVV от Июнь 16, 2010, 18:37
Код:
if (!file.open(QIODevice::ReadOnly))
     return;


Название: Re: чтение XML документа.
Отправлено: dware от Июнь 16, 2010, 18:42
 ::)
спасибо.


Название: Re: чтение XML документа.
Отправлено: dware от Июнь 16, 2010, 18:52
но setContent по-прежнему возвращает 0.
Код:
void MainWindow::load()
{
    QDomDocument domDoc;
    QFile file("scene.xml");
    if(file.open(QIODevice::ReadOnly))
    {
        if(domDoc.setContent(&file))
        {
            ...
        }
        file.close();
    }
}


Название: Re: чтение XML документа.
Отправлено: dware от Июнь 16, 2010, 21:00
разобрался, недопустимые имена у узлов были, поэтому выдавало 0.