"Boost xml"의 두 판 사이의 차이
jjuiddong
(→XML Example) |
(→XML Write Example) |
||
42번째 줄: | 42번째 줄: | ||
=== XML Write Example === | === XML Write Example === | ||
+ | |||
+ | #include <iostream> | ||
+ | #include <string> | ||
+ | #include <boost/property_tree/ptree.hpp> | ||
+ | #include <boost/property_tree/xml_parser.hpp> | ||
+ | using namespace std; | ||
+ | void main() | ||
+ | { | ||
+ | try | ||
+ | { | ||
+ | // boost property tree | ||
+ | using boost::property_tree::ptree; | ||
+ | using std::string; | ||
+ | ptree props; | ||
+ | |||
+ | props.put<bool>("hardware_settings_config.cpu.threadStrategy.<xmlattr>.parallelUpdateRender", false); | ||
+ | boost::property_tree::write_xml("wr.xml", props); | ||
+ | } | ||
+ | catch (std::exception&e) | ||
+ | { | ||
+ | cout << "Write Error " << e.what() << endl; | ||
+ | } | ||
+ | } |
2015년 8월 24일 (월) 11:05 판
- 참고자료
- http://www.technical-recipes.com/2014/using-boostproperty_tree/
- 이보다 더 좋은 예제는 없을 듯.
XML Example (hardware_settings_config.xml)
<?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; } }
XML Write Example
#include <iostream> #include <string> #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/xml_parser.hpp> using namespace std; void main() { try { // boost property tree using boost::property_tree::ptree; using std::string; ptree props; props.put<bool>("hardware_settings_config.cpu.threadStrategy.<xmlattr>.parallelUpdateRender", false); boost::property_tree::write_xml("wr.xml", props); } catch (std::exception&e) { cout << "Write Error " << e.what() << endl; } }