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

c 將json轉成xml文件

洪振霞1年前9瀏覽0評論

在C語言中,我們經常需要將json格式的數據轉換為xml格式的數據,這就需要使用一些json和xml的庫函數。

首先,我們需要用到第三方的json-c庫,它提供了解析json的函數。

#include<json-c/json.h>
json_object *json;
json = json_tokener_parse(input_json_str);

接下來,我們需要使用libxml2庫,它提供了操作xml的函數。

#include<libxml/parser.h>
#include<libxml/tree.h>
xmlDocPtr doc;
xmlNodePtr root_node;
doc = xmlNewDoc(BAD_CAST "1.0");
root_node = xmlNewNode(NULL, BAD_CAST "root");
xmlDocSetRootElement(doc, root_node);

然后我們需要將json數據轉換為xml數據。

void json_to_xml(json_object *json, xmlNodePtr node){
json_object_object_foreach(json, key, val){
xmlNodePtr xml_node = xmlNewChild(node, NULL, BAD_CAST key, NULL);
if(json_object_is_type(val, json_type_object)){
json_to_xml(val, xml_node);
} else if(json_object_is_type(val, json_type_array)){
json_object_array_foreach(val, index, item){
json_to_xml(item, xml_node);
}
} else {
xmlNodeSetContent(xml_node, BAD_CAST json_object_get_string(val));
}
}
}

最后,我們把xml數據保存到文件中。

xmlSaveFormatFileEnc(output_file_path, doc, "UTF-8", 1);

這樣我們就可以把json格式的數據轉換成xml格式的數據了。

上一篇vue信用卡
下一篇vue fileutil