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

c xml轉換json

謝彥文1年前9瀏覽0評論

在現代Web開發和API設計中,XML和JSON是兩種常見的數據交換格式。盡管它們在語法和數據結構方面有很大的不同,但是它們都有自己的優點和缺點。在某些情況下,需要將XML格式轉換為JSON格式,以便更方便地在JavaScript應用程序中使用。下面將介紹如何使用C編程語言來進行XML轉換JSON。

在C中進行XML和JSON格式之間的轉換需要使用第三方庫,比如libxml2和json-c。在下面的示例代碼中,將使用libxml2解析XML輸入,將其轉換為JSON格式,并將JSON輸出打印到控制臺。

#include <stdio.h>
#include <libxml/parser.h>
#include <json-c/json.h>
int main() {
xmlDocPtr doc;
xmlNodePtr cur;
// 創建空的JSON對象
struct json_object *json = json_object_new_object();
// 解析XML文件
doc = xmlReadFile("example.xml", NULL, 0);
if (doc == NULL) {
fprintf(stderr, "Failed to parse XML document\n");
return 1;
}
cur = xmlDocGetRootElement(doc);
if (cur == NULL) {
fprintf(stderr, "Empty document\n");
xmlFreeDoc(doc);
return 1;
}
// 遍歷XML文檔
while (cur != NULL) {
if (cur->type == XML_ELEMENT_NODE) {
// 將XML元素轉換為JSON鍵值對
struct json_object *value = json_object_new_string((const char *)xmlNodeGetContent(cur));
json_object_object_add(json, (const char *)cur->name, value);
}
cur = cur->next;
}
// 輸出JSON格式數據
printf("%s\n", json_object_to_json_string(json));
json_object_put(json);
xmlFreeDoc(doc);
return 0;
}

上面的代碼首先創建一個空的JSON對象,然后使用libxml2解析XML文件并將其轉換為JSON格式。在解析期間,讀取XML元素并將其轉換為JSON鍵值對。最后,使用json-c庫的json_object_to_json_string()函數將JSON對象轉換為JSON字符串,并將其輸出到控制臺上。