Boost xml

jjuiddong
이동: 둘러보기, 찾기

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;
		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;
	}
}
boost::property_tree::xml_writer_settings<string> settings('\t', 1);
boost::property_tree::write_xml(fileName, props, std::locale(), settings);
개인 도구
이름공간

변수
행위
둘러보기
도구모음