色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 中xml格式轉json

劉姿婷1年前7瀏覽0評論

在C語言中,我們有時需要將XML格式的數據轉換成JSON格式,以便于使用。下面是一段示例代碼,展示了如何將XML數據解析成JSON格式。

// 定義XML數據,這里使用字符串
char xml_data[] = "張三18";
// 定義JSON數據
char* json_data;
// 創建XML文檔對象
xmlDocPtr doc = xmlParseDoc((xmlChar*)xml_data);
if (doc == NULL) {
// 解析失敗
return 0;
}
// 獲取XML文檔根節點
xmlNodePtr root = xmlDocGetRootElement(doc);
// 創建JSON對象和數組
json_object* json = json_object_new_object();
json_object* array = json_object_new_array();
// 遍歷XML節點
xmlNodePtr cur = root->xmlChildrenNode;
while (cur != NULL) {
if (cur->type == XML_ELEMENT_NODE) {
// 獲取節點名稱和節點值
char* name = (char*)cur->name;
char* value = (char*)xmlNodeGetContent(cur);
// 將節點轉換成JSON格式
json_object* item = json_object_new_object();
json_object_object_add(item, "name", json_object_new_string(name));
json_object_object_add(item, "value", json_object_new_string(value));
// 將轉換后的節點添加到JSON數組中
json_object_array_add(array, item);
// 釋放內存
xmlFree(value);
}
cur = cur->next;
}
// 將JSON數組添加到JSON對象中
json_object_object_add(json, "nodes", array);
// 將JSON對象轉換成字符串并打印
json_data = strdup(json_object_to_json_string(json));
printf("%s", json_data);
// 釋放內存
xmlFreeDoc(doc);
json_object_put(json);
free(json_data);

通過上面的代碼,我們可以將XML數據轉換成JSON格式,以便于使用。使用C語言中的XML解析庫,可以很方便地進行XML解析和轉換成JSON格式。