在C++中有没有一种将JSON转换为XML的方法?

3

你知道现有的解析器吗?似乎有些是用于将XML转换为JSON,但没有相反的。


2
潜在的重复问题:http://stackoverflow.com/questions/1030217/how-to-convert-xml-to-json-in-c 和/或 https://dev59.com/TFvUa4cB1Zd3GeqPrDTN。 - djikay
1个回答

4
如果在谷歌上找不到任何内容,可以使用json 解析器编写自己的转换器,同时使用xml 编写器。通过专用数据结构(例如Boost.PropertyTree),您可能会获得两个功能。
示例:
using namespace boost::property_tree;
static const std::string 
 json(""{\"my_point\":{\"name\":\"test point\",\"point\":{\"x\":1,\"y\":2,\"z\":3}}}"");

try {
  ptree pt;
  std::istringstream ss(json);
  read_json(ss, pt);
  std::ostringstream out;
  write_xml(out, pt);
  std::cout << out.str() << std::endl;
}
catch (std::exception &e) {
  std::cerr << e.what() << std::endl;
}

输出:

<?xml version="1.0" encoding="utf-8"?>
<my_point><name>test point</name><point><x>1</x><y>2</y><z>3</z></point></my_point>

这可能不是您想要的。 如果是这样,请考虑第一句中提到的路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接