Pourquoi cette boucle ne s'exécute-t-elle qu'une seule fois? noteDatabaseItem prend juste un noeud et remplit les données. le xml a 3 notes dedans.Pourquoi cette boucle ne s'exécute-t-elle qu'une seule fois?
XML:
<?xml version="1.0" encoding="utf-8"?>
<noteCollection>
<note name="Test Note 1">This is test note 1 content!</note>
<note name="Test Note 2">This is test note 2 content!</note>
<note name="Test Note 3">This is test note 3 content!</note>
</noteCollection>
C++:
std::vector<notekeeper::noteDatabaseItem> noteList;
TiXmlElement* noteCollection = xmlDoc->FirstChildElement("noteCollection");
TiXmlElement* node = noteCollection->FirstChildElement("note");
int itemCount = 0;
while (node != NULL) {
itemCount++;
noteList.resize(itemCount);
noteList.push_back(noteDatabaseItem(node));
node = noteCollection->NextSiblingElement("note");
}
Pourquoi "redimensionnez-vous" avant de "push_back"? Il se redimensionne. Peut-être que la dernière ligne devrait être 'node = note-> NextSiblingElement (" note ");'? – GManNickG
Le XML chargé est au dessus et il y a 3 notes donc il n'y en a pas 1, et le redimensionnement est une erreur merci. – Will03uk
node = node-> NextSiblingElement ("note"); travaillé. – Will03uk