Группа XML-тегов в C++
Группа одноименных тегов - несколько узлов с одним именем под общим родителем.
Когда в документе повторяется одно имя, их перебирают циклом по дочерним узлам:
<root>
<item>alpha</item>
<item>beta</item>
<item>gamma</item>
</root>
Диапазон children с именем тега
задает обход каждого элемента:
#include <iostream>
#include <string>
#include <pugixml.hpp>
int main() {
std::string xml = R"(<root>
<item>alpha</item>
<item>beta</item>
<item>gamma</item>
</root>)";
pugi::xml_document doc;
doc.load_string(xml.c_str());
pugi::xml_node root = doc.child("root");
for (pugi::xml_node item : root.children("item")) {
std::cout << item.text().as_string() << "\n";
}
return 0;
}
Дан следующий XML:
<root>
<name>john</name>
<name>eric</name>
<name>kyle</name>
</root>
Выведите имя каждого юзера на отдельной строке.