爲什麼這個循環只運行一次? noteDatabaseItem只需要一個節點並填充數據。 xml裏面有3個註釋。爲什麼這個循環只運行一次?
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");
}
爲什麼在'push_back'之前'調整大小'?它調整自己。也許最後一行應該是'node = note-> NextSiblingElement(「note」);'? – GManNickG 2010-10-09 22:09:14
加載的XML是上面的,有3個音符,所以沒有1,調整大小是一個錯誤,謝謝。 – Will03uk 2010-10-09 22:10:57
node = node-> NextSiblingElement(「note」);工作。 – Will03uk 2010-10-09 22:13:41