Атрибут XML-тега в C++
Атрибут - пара имя-значение в открывающей скобке тега.
Текст между тегами остается содержимым узла:
<root>
<unit id="7" stock="12">widget</unit>
</root>
Имя атрибута передают в attribute,
а подпись элемента - через text:
#include <iostream>
#include <string>
#include <pugixml.hpp>
int main() {
std::string xml = R"(<root>
<unit id="7" stock="12">widget</unit>
</root>)";
pugi::xml_document doc;
doc.load_string(xml.c_str());
pugi::xml_node unit = doc.child("root").child("unit");
std::cout << unit.text().as_string() << "\n";
std::cout << unit.attribute("id").as_string() << "\n";
std::cout << unit.attribute("stock").as_string() << "\n";
return 0;
}
Дан следующий XML:
<root>
<user age="23" salary="1000">john</user>
</root>
Выведите имя, возраст и зарплату юзера.