在C語言中,xml轉換為json數據類型可以使用第三方庫,比如libxml2和json-c。在此,我們以使用libxml2庫進行xml轉換為json為例。
int main(void) { xmlDocPtr doc = NULL; //定義xml doc指針 xmlNodePtr root = NULL; //定義xml根節點指針 json_t *j_root = NULL; //定義json根節點指針 json_error_t error; //定義json轉換錯誤指針 //加載xml文件 doc = xmlReadFile("test.xml", NULL, 0); if(doc == NULL){ printf("Failed to parse XML document\n"); return -1; } //獲取xml根節點 root = xmlDocGetRootElement(doc); if(root == NULL){ printf("Failed to get XML root element\n"); xmlFreeDoc(doc); return -1; } //轉換xml為json j_root = xml2json((xmlNodePtr)root, &error); if(j_root == NULL){ printf("XML to JSON conversion failed\nError: %s\n", error.text); xmlFreeDoc(doc); return -1; } //輸出json對象 printf("%s\n", json_dumps(j_root, JSON_INDENT(4))); //釋放內存 json_decref(j_root); xmlFreeDoc(doc); return 0; }
上述代碼中,我們先通過xmlReadFile函數加載xml文件,再通過xmlDocGetRootElement函數獲取xml文件的根節點。然后使用xml2json函數將xml轉換為json類型。最后使用json_dumps函數輸出json對象,并釋放內存。
需要注意的是,使用libxml2進行xml和json的轉換需要先安裝libxml2和json-c庫。
上一篇python 自動搶茅臺
下一篇python 自動化快手