У меня проблема с чтением файла XML!Приведенный ниже код предназначен для извлечения детских значений (страны) из XML-файла, однако мне нужно будет пройти через всех братьев и сестер (все три страны), и мне нужно решение, которое работает также с неопределенным числом братьев и сестер.Мой XML-файл выглядит следующим образом:
<?xml version="1.0"?>
<data>
<country name ="Liechteinstein">
<rank>1</rank>
<year>2008</year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N"/>
</country>
<country name="Panama">
<rank>68</rank>
<year>2011</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W"/>
<neighbor name="Colombia" direction="E"/>
</country>
</data>
И у меня есть код, подобный этому:
XMLDocument doc;
doc.LoadFile("test.xml");
tinyxml2::XMLElement* countryElement = doc.FirstChildElement("data")->FirstChildElement("country");
ofstream myfile;
myfile.open("result.txt", ios::out | ios::app );
for (tinyxml2::XMLElement* child = countryElement->NextSiblingElement()->FirstChildElement(); child != NULL; child = child->NextSiblingElement())
{
myfile << child->GetText() << endl;
}
myfile.close();
Это читает все значения первой страны, но мне нужно прочитатьи записать в текстовый файл все три значения страны.Я попытался использовать для цикла, чтобы пройти через братьев и сестер, добавив
countryElement = countryElement->NextSiblingElement()
в конце цикла, но это не сработало.Может ли кто-нибудь помочь мне, пожалуйста?Заранее спасибо!