国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

使用boost讀取XML文件詳細介紹

2020-01-26 14:23:31
字體:
來源:轉載
供稿:網(wǎng)友

boost讀取XML文件

boost中提供了對配置文件讀取的支持,它就是:property_tree。

    basic_ptree 是property_tree的核心基礎。其接口像std::list。可以執(zhí)行很多基本的元素操作,比如使用begin()、end()等。
    此外還加入了操作屬性樹的get()、get_child()、get_value()、data()等額外的操作。

    basic_ptree有兩個重要的內部定義self_type和value_type。self_type是basic_ptree模板實例化后自身的類型,它也是子節(jié)點的類型。value_type是節(jié)點的數(shù)據(jù)結構,它是一個std::pair,它含有屬性名(first)和節(jié)點自身(second)。

    通常不使用basic_ptree,而是使用預定義的typedef。ptree、wptree、iptree、wiptree。前綴i表示忽略大小寫,前綴w表示支持寬字符。

例如:

config.xml

<?xml version="1.0" encoding="utf-8"?> <con>  <id>1</id>  <name>fansy</name>  <urls>   <url>http://blog.csdn.net//fansongy</url>   <url>http://weibo.com//fansongy</url>  </urls> </con>  

我要讀取它的數(shù)據(jù):

#include <iostream> #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/xml_parser.hpp> #include <boost/typeof/typeof.hpp>  using namespace std; using namespace boost::property_tree; int main() {   ptree pt;   read_xml("conf.xml",pt);   //讀入一個xml文件   cout<<"ID is "<<pt.get<int>("con.id")<<endl; //讀取節(jié)點中的信息   cout<<"Try Default"<<pt.get<int>("con.no_prop",100)<<endl; //如果取不到,則使用默認值   ptree child = pt.get_child("con");  //取一個子節(jié)點   cout<<"name is :"<<child.get<string>("name")<<endl;  //對子節(jié)點操作,其實跟上面的操作一樣      child = pt.get_child("con.urls");   for(BOOST_AUTO(pos,child.begin());pos != child.end();++pos) //boost中的auto    {      cout<<"/t"+pos->second.data()<<endl;    }   pt.put("con.name","Sword");  //更改某個鍵值   pt.add("con.urls.url",http://www.baidu.com); //增加某個鍵值   write_xml("conf.xml",pt);  //寫入XML   getchar();   return 0; } 
運行的顯示為: ID is 1 Try Default100 name is :fansy     http://blog.csdn.net//fansongy     http://weibo.com//fansongy 
config.xml為: <?xml version="1.0" encoding="utf-8"?> <con>  <id>1</id>  <name>Sword</name> <urls>    <url>http://blog.csdn.net//fansongy</url>    <url>http://weibo.com//fansongy</url>    <url>http://www.baidu.com</url> </urls> </con>  

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 高雄市| 南汇区| 菏泽市| 花垣县| 景泰县| 台东市| 陆丰市| 镇巴县| 突泉县| 浦江县| 林州市| 卢氏县| 青神县| 富顺县| 白朗县| 中方县| 鄱阳县| 郓城县| 屯门区| 安康市| 龙川县| 南投市| 县级市| 鹤山市| 彰化县| 庆安县| 柳州市| 山阳县| 焉耆| 滦南县| 广德县| 志丹县| 当雄县| 尉犁县| 乐都县| 新丰县| 大埔县| 大化| 黑河市| 会同县| 大厂|