在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