"Boost xml"의 두 판 사이의 차이
jjuiddong
2번째 줄: | 2번째 줄: | ||
** http://www.technical-recipes.com/2014/using-boostproperty_tree/ | ** http://www.technical-recipes.com/2014/using-boostproperty_tree/ | ||
** 이보다 더 좋은 예제는 없을 듯. | ** 이보다 더 좋은 예제는 없을 듯. | ||
+ | |||
+ | === XML Example === | ||
+ | <?xml version="1.0" encoding="UTF-8" ?> | ||
+ | <hardware_settings_config version="56" deviceId="0x1380"> | ||
+ | <cpu> | ||
+ | <threadStrategy parallelUpdateRender="true" workerMapFile="system/workerMap8Core.xml" forceFeedbackProcessor="6" dvdStorageProcessor="7" dataSetMonitorProcessor="4" renderProcessor="0" updateProcessor="2" fileStreamProcessor="5" /> | ||
+ | </cpu> | ||
+ | </hardware_settings_config> | ||
+ | |||
+ | |||
=== XML Read Example === | === XML Read Example === |
2015년 8월 24일 (월) 11:03 판
- 참고자료
- http://www.technical-recipes.com/2014/using-boostproperty_tree/
- 이보다 더 좋은 예제는 없을 듯.
XML Example
<?xml version="1.0" encoding="UTF-8" ?> <hardware_settings_config version="56" deviceId="0x1380"> <cpu> <threadStrategy parallelUpdateRender="true" workerMapFile="system/workerMap8Core.xml" forceFeedbackProcessor="6" dvdStorageProcessor="7" dataSetMonitorProcessor="4" renderProcessor="0" updateProcessor="2" fileStreamProcessor="5" /> </cpu> </hardware_settings_config>
XML Read Example
#include <iostream> #include <string> #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/xml_parser.hpp> using namespace std; void main() { string fileName = "hardware_settings_config.xml"; try { // boost property tree using boost::property_tree::ptree; using std::string; ptree props; boost::property_tree::read_xml(fileName, props); bool parallelUpdateRender = props.get<bool>("hardware_settings_config.cpu.threadStrategy.<xmlattr>.parallelUpdateRender", false); cout << "parallelUpdateRender = " << parallelUpdateRender << endl; string workerMapFile = props.get<string>("hardware_settings_config.cpu.threadStrategy.<xmlattr>.workerMapFile", ""); cout << "workerMapFile = " << workerMapFile << endl; } catch (std::exception&e) { cout << "Error " << e.what() << endl; } }