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

c xml 轉 json格式轉換

錢諍諍1年前7瀏覽0評論

在進行數據交換時,常常需要將不同格式的文件進行轉換,例如將XML文件轉換為JSON格式。本文介紹如何使用C語言實現XML到JSON格式的轉換。

在C語言中,我們可以使用第三方庫libxml2來解析XML文件,然后使用第三方庫cJSON將解析結果轉換為JSON格式。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <cjson/cJSON.h>
int main(int argc, char **argv) {
xmlDocPtr doc;
xmlNodePtr root, cur;
cJSON *json, *json_array;
char *json_string;
// 打開XML文件
doc = xmlReadFile("example.xml", NULL, 0);
if (doc == NULL) {
printf("Error: cannot open XML file\n");
return -1;
}
// 獲取根節點
root = xmlDocGetRootElement(doc);
// 創建JSON對象和JSON數組對象
json = cJSON_CreateObject();
json_array = cJSON_CreateArray();
// 遍歷XML文件
for (cur = root->xmlChildrenNode; cur != NULL; cur = cur->next) {
if (cur->type == XML_ELEMENT_NODE) {
// 將XML節點的名稱和內容轉換為JSON格式
cJSON_AddItemToObject(json, (const char *)cur->name, cJSON_CreateString((const char *)xmlNodeGetContent(cur)));
cJSON_AddItemToArray(json_array, cJSON_CreateString((const char *)xmlNodeGetContent(cur)));
}
}
// 轉換JSON對象為JSON字符串
json_string = cJSON_Print(json);
// 輸出JSON字符串
printf("%s", json_string);
// 釋放內存
cJSON_Delete(json);
xmlFreeDoc(doc);
xmlCleanupParser();
free(json_string);
return 0;
}

以上代碼演示了如何使用C語言將XML文件轉換為JSON格式。其中,使用libxml2庫解析XML文件,并使用cJSON庫創建JSON對象和JSON數組對象,最后將JSON對象轉換為JSON字符串輸出。

需要注意的是,在運行以上代碼之前,需要安裝并配置好libxml2和cJSON庫。