Как считать элементы в TinyXml? - PullRequest
5 голосов
/ 01 марта 2012

Я думаю, что проблема в неправильном использовании функции или чего-то еще.

Эта часть кода работает, но результат не очень хороший.

TiXmlElement* e = hDoc.FirstChildElement().Element(); // think problem is there
while (e)
{
    e = e->NextSiblingElement();  //or may be there
    count++;
}

Результат подсчета равен 1.


XML-файл:

<doc>
   <state> ... </state>
   <state> ... </state>
   ...
</doc>

Не удается найти пример работы.

1 Ответ

10 голосов
/ 07 марта 2012

если вы прочитаете документацию , вы можете найти следующий пример (который выглядит лучше, чем ваш подход):

for( child = parent->FirstChild(); child; child = child->NextSibling() )
    count++;

Но вы, вероятно, только пытаетесь сосчитать штаты, поэтому я бы предложил:

for( child = parent->FirstChild("state"); child; child = child->NextSibling("state") )

Вы, вероятно, также хотите что-то вроде этого:

TiXmlElement *parent = hDoc.RootElement();
...