[英]TinyXML looping over elements
Using TinyXML to read an xml file. 使用TinyXML读取xml文件。 I want to loop over multiple elements but for some reason it only loops over the first element.
我想遍历多个元素,但由于某种原因,它仅遍历第一个元素。 A short example xml file would be:
一个简短的xml文件示例为:
<root>
<wave_manager name="WaveManager01">
</wave_manager>
<wave_manager name="WaveManager02">
</wave_manager>
</root>
The code to loop is: 要循环的代码是:
TiXmlElement* root = _waveDoc.FirstChildElement("root");
for(TiXmlElement* e = root->FirstChildElement("wave_manager"); e != NULL; e = root->NextSiblingElement("wave_manager"))
{
string wmName = e->Attribute("name");
}
So this only loops once and wmName does show WaveManager01, but then the for loop exists. 因此,这仅循环一次,而wmName确实显示了WaveManager01,但随后存在for循环。
Your for
statement is resetting the e
element to root on every iteration. 您的
for
语句将e
元素重置为在每次迭代中都植根。 It is supposed to go to the next element in list - e
. 它应该转到list-
e
的下一个元素。
Here is the correct code: 这是正确的代码:
TiXmlElement* root = _waveDoc.FirstChildElement("root");
for(TiXmlElement* e = root->FirstChildElement("wave_manager"); e != NULL; e = e->NextSiblingElement("wave_manager"))
{
string wmName = e->Attribute("name");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.