深刻理解boost property_tree的用法,通过一级循环判断,来遍历xml文件里的一级二级目录;
源代码:
#include<boost/property_tree/ptree.hpp>
#include<boost/property_tree/xml_parser.hpp>
#include<iostream>
int main(){
boost::property_tree::ptree pt;
std::string fileName = "E:\\trade\\config\\acsyconf002.xml";
boost::property_tree::xml_parser::read_xml(fileName, pt);
std::string xml;
std::string xml1;
for (auto &m : pt){
if (m.first == "group")
{
xml1 = "";
xml = m.second.get("account"," ");
std::cout << xml << std::endl;
for (auto &m1 : m.second)
{
if (m1.first == "user"){

xml1 = xml1+m1.second.get_value<std::string>()+"|";
}
}
std::string xml2 = xml1.substr(0, xml1.size()-1);
std::cout << xml2 << std::endl;
//std::string xmlLast = xml.substr(0, xml.size());
//std::cout << xmlLast << std::endl;
}
}
return 0;
}
XML文件:
<config>
<subport>10003</subport>
<swebdir>D:\Project\server\src\web</swebdir>
<database>E:\trade\config\all_cnfut_db_gy.dat</database>
<filenameURL>H:\tesrt</filenameURL>
<logURL>E:\trade\log\trade_log_acsy001.log</logURL>
<swebport>8006</swebport>
<distbin>D:\Project\tradesrc\bin\Debug</distbin>
</config>
<group>
<account>020368</account>
<user>01</user>
<user>02</user>
<user>03</user>
</group>
<group>
<account>831598</account>
<user>01</user>
</group>


Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐