Russian Qt Forum

Qt => XML => Тема начата: Caduceus от Июль 18, 2010, 20:53



Название: Ничего не понимаю, почему читает только один элемент из такой XML
Отправлено: Caduceus от Июль 18, 2010, 20:53
Есть очень простая XML-ка:
Цитировать
<?xml version="1.0" encoding="UTF-8"?>
<player Name="1111" FullName="1111111111" Number="0" Comment=""/>
<player Name="2222" FullName="2222222222" Number="0" Comment=""/>
<player Name="3333" FullName="3333333333" Number="0" Comment=""/>
<player Name="4444" FullName="4444444444" Number="0" Comment=""/>

И есть простой код для его зачитки:
Код:
QXmlStreamReader playersReader(s);
while(!playersReader.atEnd())
{
playersReader.readNext();
if (playersReader.isStartElement())
   if (playersReader.name()=="player")
  {
QString aaa = playersReader.attributes().value("FullName").toString();   ///  1*

  }
}

Ставлю точку останова на строке 1* - он туда заходит только один раз!! Почему один? Должен 4. Не так XML-ка организована? А как надо?


Название: Re: Ничего не понимаю, почему читает только один элемент из такой XML
Отправлено: whirlwind от Июль 19, 2010, 10:47
xml неправльный. Должен быть только один корневой узел. вроде

Код:
<?xml version="1.0" encoding="UTF-8"?>
<players_list>
  <player Name="1111" FullName="1111111111" Number="0" Comment=""/>
  <player Name="2222" FullName="2222222222" Number="0" Comment=""/>
  <player Name="3333" FullName="3333333333" Number="0" Comment=""/>
  <player Name="4444" FullName="4444444444" Number="0" Comment=""/>
</players_list>