Вложенный XML-тег в C++
Вложенность - когда один тег содержит другой, а не только текст.
Нужный узел ищут цепочкой child
от внешнего родителя к внутреннему полю:
<root>
<block>
<caption>alpha</caption>
</block>
</root>
Сначала берут внешний элемент, затем внутренний по его имени:
#include <iostream>
#include <string>
#include <pugixml.hpp>
int main() {
std::string xml = R"(<root>
<block>
<caption>alpha</caption>
</block>
</root>)";
pugi::xml_document doc;
doc.load_string(xml.c_str());
pugi::xml_node block = doc.child("root").child("block");
std::cout << block.child("caption").text().as_string() << "\n";
return 0;
}
Дан следующий XML:
<root>
<tag1>
<tag2>
<tag3>
text
</tag3>
</tag2>
</tag1>
</root>
Выведите текст самого внутреннего тега.