使用Boost讀取xml

2021-10-06 13:01:18 字數 984 閱讀 1054

boost中提供了對配置檔案讀取的支援,它就是:property_tree。

basic_ptree 是property_tree的核心基礎。其介面像std::list。可以執行很多基本的元素操作,比如使用begin()、end()等。

此外還加入了操作屬性樹的get()、get_child()、get_value()、data()等額外的操作。

basic_ptree有兩個重要的內部定義self_type和value_type。self_type是basic_ptree模板例項化後自身的型別,它也是子節點的型別。value_type是節點的資料結構,它是乙個std::pair,它含有屬性名(first)和節點自身(second)。

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

例如:config.xml

<?xml version="1.0" encoding="utf-8"?>

1fansy

我要讀取它的資料:

#include #include #include #include using namespace std;

using namespace boost::property_tree;

int main()

{ ptree pt;

read_xml("conf.xml",pt); //讀入乙個xml檔案

cout<<"id is "<("con.id")<("con.no_prop",100)<("name")id is 1

try default100

name is :fansy

config.xml為:

<?xml version="1.0" encoding="utf-8"?>

1sword

使用boost讀取XML檔案

boost中提供了對配置檔案讀取的支援,它就是 property tree。basic ptree 是property tree的核心基礎。其介面像std list。可以執行很多基本的元素操作,比如使用begin end 等。此外還加入了操作屬性樹的get get child get value d...

使用XMLList讀取XML資料

使用xmllist讀取xml資料 xml物件提供了乙個返回xmllist型別的方法elements 既返回所有xml物件的子元素節點,隨後我們可以通過for each語句迴圈則可訪問到整個xml資料內容。以上面建立內部xml文件的xml資料為例,詳細見如下 塊 varlist xmllist pxm...

c 使用xerces讀取XML

xml作為一種重要的檔案格式,應用面非常之廣。從asp.net的web.config,到android的頁面設計開發,webservice通訊等。有時候難免需要我們通過程式進行建立與解析,最近剛完成乙個c 專案,就需要讀取xml配置檔案,關於xml解析器的選擇很多,可以參考 個人比較喜歡apache...