在計算機編程中,XML是一種常用的數據格式,而JSON也是一種廣泛應用的數據格式。為了在兩種不同的數據格式之間進行轉換,需要使用XML轉JSON的代碼。在C語言中,有一些開源的庫可以實現這個功能,比如libxml2和jansson。
//使用libxml2庫將XML轉換為JSON xmlDocPtr doc; xmlNodePtr rootNode; json_t* jsonRoot; //加載XML文件 doc = xmlReadFile("example.xml", NULL, 0); //獲取根節點 rootNode = xmlDocGetRootElement(doc); //將XML轉換為JSON jsonRoot = xmlNodeToJson(rootNode); //釋放資源 xmlFreeDoc(doc); //將JSON存儲到文件中 json_t* json = json_object(); json_object_set(json, "root", jsonRoot); json_dump_file(json, "example.json", JSON_INDENT(4)); json_decref(json);
以上代碼使用libxml2庫將XML轉換為JSON格式并將結果存儲在文件中。在這里用到了xmlReadFile函數來加載XML文件,并使用xmlNodeToJson函數將XML轉換為JSON。最后,使用jansson庫的json_dump_file函數將JSON格式的數據存儲到文件中。
//使用jansson庫將JSON轉換為XML json_t* json; xmlDocPtr doc; xmlNodePtr rootNode; //加載JSON文件 json = json_load_file("example.json", 0, NULL); //獲取根節點 json_t* jsonRoot = json_object_get(json, "root"); //將JSON轉換為XML rootNode = jsonToXmlNode(jsonRoot, &doc); //保存XML文件 xmlSaveFormatFile("example.xml", doc, 1); xmlFreeDoc(doc);
以上代碼使用jansson庫將JSON格式的數據轉換為XML格式,并將結果保存在文件中。在這里用到了jansson庫的json_load_file函數來加載JSON文件,并使用jsonToXmlNode函數將JSON轉換為XML。最后,使用libxml2庫的xmlSaveFormatFile函數將XML格式的數據保存到文件中。