pugiXML:不能遍历兄弟姐妹!只加载第一个

时间:2013-03-03 14:34:06

标签: c++ xml for-loop pugixml

这是XML代码:

<?xml version="1.0" encoding="utf-8"?>
<Enemies>
    <Enemy id="001" name="Bandit" combatstyle="1" aitype="1" difficulty="1" imgsheet="001.png" level="2" hp"5" />
    <Enemy id="005" name="Dragon" combatstyle="1" aitype="1" difficulty="1" imgsheet="002.png" level="5" hp"50" />
</Enemies>

这就是我用来搜索内容的代码:

pugi::xml_document doc;

pugi::xml_parse_result result = doc.load_file("assets/enemies.xml");       

pugi::xml_node nodes = doc.child("Enemies");

for (pugi::xml_node tool = nodes.child("Enemy"); tool; tool = tool.next_sibling("Enemy"))
   {
        //only here to check if it's working
        string lol = tool.attribute("name").as_string();
        int hi = tool.attribute("id").as_int();
    }

当循环执行 tool = tool.next_sibling(“Enemy”)时,它会到达结尾并跳出循环。我可以从第一个敌人那里获得信息,所以我做的正确。

1 个答案:

答案 0 :(得分:1)

我不知道我做了什么。但现在它似乎有效。这真的很奇怪,我没有改变课程,现在它的工作原理。

无论如何,一切都很好!