我是pugixml的新手。考慮我給了XML here。我想要得到每個學生的價值Name
和Roll
。下面的代碼只能找到標籤,而不是價值。Pugixml C++解析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;
}
我想爲每個學生輸出Name和Roll。我如何修改上面的代碼?另外,如果可以參考here(按測試),我可以直接編寫pugixml支持的xpath。如果是這樣,我怎麼才能得到我在Pugixml中使用Xpath尋找的值。
謝謝我會試試這個,但是我怎樣才能改變我的代碼,使它獲得我想要的價值? – Pant
只要把我的代碼放在'doc.load_string(xml_mesg.c_str());' – Cornstalks
'之後,我的意思是在我的代碼中使用迭代器。 – Pant