欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 中xml 轉json數據類型

劉柏宏1年前8瀏覽0評論

在C語言中,xml轉換為json數據類型可以使用第三方庫,比如libxml2和json-c。在此,我們以使用libxml2庫進行xml轉換為json為例。

int main(void)
{
xmlDocPtr doc = NULL;  //定義xml doc指針
xmlNodePtr root = NULL; //定義xml根節點指針
json_t *j_root = NULL;  //定義json根節點指針
json_error_t error;    //定義json轉換錯誤指針
//加載xml文件
doc = xmlReadFile("test.xml", NULL, 0);
if(doc == NULL){
printf("Failed to parse XML document\n");
return -1;
}
//獲取xml根節點
root = xmlDocGetRootElement(doc);
if(root == NULL){
printf("Failed to get XML root element\n");
xmlFreeDoc(doc);
return -1;
}
//轉換xml為json
j_root = xml2json((xmlNodePtr)root, &error);
if(j_root == NULL){
printf("XML to JSON conversion failed\nError: %s\n", error.text);
xmlFreeDoc(doc);
return -1;
}
//輸出json對象
printf("%s\n", json_dumps(j_root, JSON_INDENT(4)));
//釋放內存
json_decref(j_root);
xmlFreeDoc(doc);
return 0;
}

上述代碼中,我們先通過xmlReadFile函數加載xml文件,再通過xmlDocGetRootElement函數獲取xml文件的根節點。然后使用xml2json函數將xml轉換為json類型。最后使用json_dumps函數輸出json對象,并釋放內存。

需要注意的是,使用libxml2進行xml和json的轉換需要先安裝libxml2和json-c庫。