zoukankan      html  css  js  c++  java
  • c++:boost读取xml

    int   load(const std::string &strFilePath, const std::string &strFileName)
    {
    m_mapParam.clear();
    string strConfFullPath;
    if (kbdSuccess != makeConfigFileFullPath(strFilePath, strFileName, strConfFullPath))
    {
    return kbdFailed;
    }

    boost::property_tree::ptree pt;
    namespace xml = boost::property_tree::xml_parser;
    try
    {
    xml::read_xml(strConfFullPath, pt, xml::no_comments);
    BOOST_AUTO(module, pt.get_child("root"));
    for (BOOST_AUTO(pModuleIter, module.begin()); pModuleIter != module.end(); ++pModuleIter)
    {
    string strModuleName = pModuleIter->second.get<string>("<xmlattr>.name");
    boost::property_tree::ptree ptParam = pModuleIter->second;
    for (BOOST_AUTO(pParamIter, ptParam.begin()); pParamIter != ptParam.end(); ++pParamIter)
    {
    if (pParamIter->first == "param")
    {
    string strKey = pParamIter->second.get<string>("<xmlattr>.key");
    string strValue = pParamIter->second.get<string>("<xmlattr>.value");
    m_mapParam[strModuleName + CN_PARAM_SEPARATOR + strKey].push_back(strValue);
    }
    }
    }
    }
    catch (std::exception &ex)
    {
    LOGERROR("解析配置文件[%s]失败.Msg=[%s]", strConfFullPath.c_str(), ex.what());
    return1;
    }

    return 0;
    }

    不为其他,只为快乐!
  • 相关阅读:
    博客园的博客
    JAVASCRIPT拷贝内容到剪切板
    adobe acrobat pro 8.0/8.1 激活
    lighttpd+PHP上传文件
    windows上UPNP/DLNA服务器软件测试
    maven环境搭建
    Chrome调试博客地址
    struts2技术内幕读书笔记1
    git推送
    第九周助教小结
  • 原文地址:https://www.cnblogs.com/1521299249study/p/10178596.html
Copyright © 2011-2022 走看看