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