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

c 中xml格式轉(zhuǎn)json數(shù)據(jù)

黃文隆2年前7瀏覽0評論

在C語言中,XML格式和JSON數(shù)據(jù)之間的轉(zhuǎn)換是非常常見的需求。XML是一種用于數(shù)據(jù)交換和描述的格式,而JSON則是一種輕量級的數(shù)據(jù)交換格式,通常用于前端網(wǎng)頁開發(fā)。

要實(shí)現(xiàn)XML格式轉(zhuǎn)JSON數(shù)據(jù)的功能,我們可以使用第三方庫,如libxml2和cJSON等。以下是使用libxml2和cJSON庫將XML格式轉(zhuǎn)為JSON數(shù)據(jù)的示例代碼:

#include#include#include#includeint main() {
char* xml = "001Tom22";
xmlDocPtr doc = xmlParseMemory(xml, strlen(xml));
xmlNodePtr root = xmlDocGetRootElement(doc);
cJSON* json = cJSON_CreateObject();
for (xmlNodePtr cur = root->children; cur; cur = cur->next) {
if (cur->type == XML_ELEMENT_NODE) {
cJSON_AddItemToObject(json, cur->name, cJSON_CreateString(cur->children->content));
}
}
char* json_str = cJSON_Print(json);
printf("%s", json_str);
cJSON_Delete(json);
xmlFreeDoc(doc);
return 0;
}

以上代碼首先將XML格式的字符串解析為libxml2中的xmlDocPtr類型,再從doc中獲取根節(jié)點(diǎn),并遍歷根節(jié)點(diǎn)下的所有子節(jié)點(diǎn)。當(dāng)遇到節(jié)點(diǎn)為XML_ELEMENT_NODE類型時(shí),即為一個(gè)字段,我們就將其名稱和值添加到cJSON對象中。最后將cJSON對象轉(zhuǎn)換為JSON格式的字符串并輸出即可。