欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c xml字符串轉化為json格式

榮姿康2年前9瀏覽0評論

在進行數據的交換和傳輸時,數據格式的兼容性是十分重要的。而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 = "Tom18male123456789tom@example.com";
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;
}

首先需要引入pugixml和jsoncpp的頭文件,并使用using namespace pugi;進行命名空間聲明。然后,我們通過xml_document對象將XML文件轉化為樹形的XML表達式,并遍歷節點,將節點的名稱和值轉化為JSON格式。最終,我們通過Json::Value對象將JSON格式轉化為字符串輸出。