在進行數據的交換和傳輸時,數據格式的兼容性是十分重要的。而XML和JSON則是當前比較常見的兩種數據格式。要實現XML字符串轉化為JSON格式,需要進行一些處理和轉換,具體實現如下:
//引入頭文件 #include "pugixml.hpp" #include "json/json.h" using namespace pugi; //將XML字符串轉為Json::Value對象 Json::Value xml2Json(char* xml_str) { //創建XML文檔對象 xml_document doc; doc.load(xml_str); //將XML文檔轉化為JSON格式 Json::Value jsonVal; xml_node root = doc.first_child(); if (root) { for (xml_node nodeChild = root.first_child(); nodeChild; nodeChild = nodeChild.next_sibling()) { if (nodeChild.type() == node_element) { if (!jsonVal[nodeChild.name()]) { jsonVal[nodeChild.name()] = Json::Value(Json::arrayValue); } jsonVal[nodeChild.name()].append(xml2Json(nodeChild)); } else if (nodeChild.type() == node_pcdata) { jsonVal = nodeChild.value(); } } } return jsonVal; } //主函數 int main() { char* xml_str = ""; Json::Value jsonVal = xml2Json(xml_str); std::string jsonStr = jsonVal.toStyledString(); printf("XML格式:\n%s",xml_str); printf("JSON格式:\n%s",jsonStr.c_str()); return 0; } Tom 18 male 123456789 tom@example.com
首先需要引入pugixml和jsoncpp的頭文件,并使用using namespace pugi;進行命名空間聲明。然后,我們通過xml_document對象將XML文件轉化為樹形的XML表達式,并遍歷節點,將節點的名稱和值轉化為JSON格式。最終,我們通過Json::Value對象將JSON格式轉化為字符串輸出。
上一篇vue和react選型
下一篇vue和python結合