使用libxml讀取分析配置檔案

2021-07-06 09:00:26 字數 1332 閱讀 1214

配置檔案示例如下:

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

7192.168.2.213

5730

192.168.2.230

9003

首先定義儲存資訊的結構體:

typedef struct _partition  partition_t;

typedef struct _config config_t;

然後就可以用libxml中的函式封裝介面了,主要引用的標頭檔案有:

#include "xmlwriter.h"

#include "xmlreader.h"

#include "parser.h"

介面封裝:

int load_config(config_t *c, const char *file) 

cur = xmldocgetrootelement(doc);//求根節點

if(cur == null)

//判斷根節點是否為config

if(xmlstrcmp(cur->name, (const xmlchar *)("config")) != 0)

//進到孩子節點

cur = cur->xmlchildrennode;

while(cur != null)

} else if(xmlstrcmp(cur->name, (const xmlchar *)("partitions")) == 0)

} //遍歷兄弟節點

cur = cur->next;

} xmlfreedoc(doc);

return 0;

}

static int load_partition(partition_t *pt, xmldocptr doc, xmlnodeptr cur) 

} else if(xmlstrcmp(cur->name, (const xmlchar *)("port")) == 0)

} cur = cur->next;

} return 0;

}static int load_partitions(config_t *c, xmldocptr doc, xmlnodeptr cur)

gdebug("partition load done.");

} cur = cur->next;

} return 0;

}

linux c 使用libxml2讀取配置檔案

由於在c下讀取文字的配置檔案比較麻煩所以想找乙個方便讀取配置檔案的方法。但是在網上左找右找,大家的方法都一樣。還是讀檔案啊讀檔案。後來找到了 libxml,發現用法比較簡單。研究了一把。確實還不錯,人家不但帶.so還帶.a方便打包。呵呵。廢話不說了。直接上程式。首先建立乙個xml吧。就叫它my.xm...

libxml的使用(1) 讀取xml

libxml是乙個用於解析xml檔案的庫,在各個平台下都能使用,也支援多種語言,如c,python等。這裡是官方 上面有libxml的api和一些code examples,都是英文的。不過比較簡單。libxml的基礎功能就是對xml的讀和寫。下面將簡單介紹libxml的讀的功能。大部分內容是參照l...

libxml的使用(1) 讀取xml

libxml是乙個用於解析xml檔案的庫,在各個平台下都能使用,也支援多種語言,如c,python等。這裡是 官方 上面有libxml的api和一些code examples,都是英文的。不過比較簡單。libxml的基礎功能就是對xml的讀和寫。下面將簡單介紹libxml的讀的功能。大部分內容是參照...