property tree修改xml文件内容
2015-09-30 16:33
357 查看
#include<iostream> #include<fstream> #include<iomanip> #include<vector> #include<boost/property_tree/ptree.hpp> #include<boost/property_tree/xml_parser.hpp> #include<boost/foreach.hpp> #include<string> void handle_monitor(std::string a, std::string b, std::string c,std::string d); void recure(boost::property_tree::ptree &pt); int main() { std::string input = "1000"; std::string input1 = "8000"; std::string input2 = "aaa"; std::string input3 = "/public/proc/traderaaa"; std::string input4 = "/public/proc/monitoraaa"; handle_monitor(input, input1, input3,input4); } void handle_monitor1(std::string a, std::string b, std::string c,std::string d){ std::string filename = "H:\\config\\acsymonitor.xml"; boost::property_tree::ptree pt; boost::property_tree::xml_parser::read_xml(filename, pt); pt.put("config.subport", a); //修改xml节点里面的内容 pt.put("config.swebport", b); pt.put("root.tradernode", c); pt.put("root.monitornode", d); recure(pt); boost::property_tree::xml_parser::xml_writer_settings<boost::property_tree::ptree::key_type> settings('\t',1,"GB2312"); boost::property_tree::xml_parser::write_xml("H:\\config\\acsymonitor.xml", pt,std::locale(),settings); } void recure(boost::property_tree::ptree &pt) //递归遍历xml里面的节点 { for (auto &m : pt) { if (m.second.get_value<std::string>().find("\n\t") != -1) { m.second.put_value(""); } std::cout << m.first << " , " << m.second.get_value<std::string>() << std::endl; recure(m.second); } } /*****************xml文件******************/ <config> <subport>10004</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>8007</swebport> <distbin>D:\Project\tradesrc\bin\Debug</distbin> </config> <root> <peer> <url>tcpconnector://127.0.0.1:10048</url> </peer> <tradernode>/public/proc/traderywj2</tradernode> <monitornode>/public/proc/monitorywj2</monitornode> </root>
相关文章推荐
- VirtualBox centos下设置共享文件夹
- opencv访问图像中每个像素的值
- Linux下查看软、硬raid信息的方法
- openGL 深度测试与透明度设置
- 监控用dstat其实满不错的
- 【Nginx探究系列一】Nginx初学指南(初学者篇)
- c笔记01---扩展名简介,linux 常用命令,vi 设置
- rhel 6.5 x86_64 配置centos yum源
- 玩转CPU Topology
- Linux上扩展磁盘空间
- Linux下socket优化
- Linux I2C 驱动分析(一)
- linux下如何实现mysql数据库每天自动备份定时备份
- win7+VS2012下openGL开发环境配置(glut版)
- docker安装和使用
- 从零开始编写一个简单的Linux文件系统
- PowerShell
- linux常用命令(64):crontab命令
- liunx 基本命令
- CentOS 6.5 x64安装ELK日志分析系统