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

pugiXML: Cannot iterate through siblings! Only loads the first

本文关键字:加载 第一个 兄弟姐妹 不能 遍历 pugiXML      更新时间:2023-10-16

这是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")时,它到达终点并跳出循环。我可以很好地从第一个敌人那里获得信息,所以我做对了。

我不知道我做了什么。但现在它似乎起作用了。这真的很奇怪,我没有对类做任何改变,现在它工作了。

不管怎样,一切都很好!