Имя тега с дефисом в C++
Имя с дефисом - обычная строка имени узла в XML.
В разметке допустимы такие имена, и для
pugixml это тот же вызов child
с полным текстом имени:
<root>
<field-name>alpha</field-name>
<field-code>01</field-code>
</root>
Поиск выполняют тем же child,
передавая полное имя с дефисом:
#include <iostream>
#include <string>
#include <pugixml.hpp>
int main() {
std::string xml = R"(<root>
<field-name>alpha</field-name>
<field-code>01</field-code>
</root>)";
pugi::xml_document doc;
doc.load_string(xml.c_str());
pugi::xml_node root = doc.child("root");
std::cout << root.child("field-name").text().as_string() << "\n";
std::cout << root.child("field-code").text().as_string() << "\n";
return 0;
}
Дан следующий XML:
<root>
<user-name>john</user-name>
<user-surn>smit</user-surn>
</root>
Выведите имя и фамилию юзера.