Я новичок в pugixml. Рассмотрите, что я получил XML here. Я хочу получить значение Name
и Roll
каждого ученика. Код ниже содержит только тег, но не значение.Pugixml C++ parsing XML
#include <iostream>
#include "pugixml.hpp"
int main()
{
std::string xml_mesg = "<data> \
<student>\
<Name>student 1</Name>\
<Roll>111</Roll>\
</student>\
<student>\
<Name>student 2</Name>\
<Roll>222</Roll>\
</student>\
<student>\
<Name>student 3</Name>\
<Roll>333</Roll>\
</student>\
</data>";
pugi::xml_document doc;
doc.load_string(xml_mesg.c_str());
pugi::xml_node data = doc.child("data");
for(pugi::xml_node_iterator it=data.begin(); it!=data.end(); ++it)
{
for(pugi::xml_node_iterator itt=it->begin(); itt!=it->end(); ++itt)
std::cout << itt->name() << " " << std::endl;
}
return 0;
}
Я хочу получить имя и ролик для каждого учащегося. Как я могу изменить код выше? Кроме того, если можно обратиться к here (нажмите Test), я могу напрямую написать xpath, который поддерживается pugixml. Если да, как я могу получить значения, которые я ищу, используя Xpath в Pugixml.
Спасибо Я попробую это, но как я могу изменить свой код, чтобы он получил значение, которое я желаю? – Pant
Просто поместите мой код сразу после строки 'doc.load_string (xml_mesg.c_str());' – Cornstalks
Я хочу сказать, используя итератор в моем коде. – Pant