Skip to content
A header-only C++ library converts XML to JSON
C++ HTML C Makefile
Branch: master
Clone or download
Latest commit d3a3d98 Sep 8, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
donate add donate section May 17, 2016
include support numeric Sep 8, 2016
test small change Apr 26, 2016
.gitignore Initial commit Nov 25, 2013
Makefile add donate section May 17, 2016
xml2json.cpp 1. update to the latest version of rapidjson; Mar 9, 2015


A header-only C++ library converts XML to JSON


xml2json is a header-only C++ library. Just copy the ./include folder to system or project's include path. Two examples are shown in xml2json.cpp and ./test/test.cpp

Build and Run a Command Line Tool

./xml2json input.xml


std::string xml2json(const char *xml_str)


xml2json is the first carefully written C++ library that converts XML document to JSON format. It's already been used in the soft subtitle cross-domain solution at the server-end of Tencent Video ( and its CDNs.

It's simple and fast, and with almost full support for the XML standards.

It follows these simple but carefully considered rules below:

Pattern XML JSON Access
1 <e/> "e": null o.e
2 <e>text</e> "e": "text" o.e
3 <e name="value" /> "e":{"@name": "value"} o.e["@name"]
4 <e name="value">text</e> "e": { "@name": "value", "#text": "text" } o.e["@name"] o.e["#text"]
5 <e> <a>text</a> <b>text</b> </e> "e": { "a": "text", "b": "text" } o.e.a o.e.b
6 <e> <a>text</a> <a>text</a> </e> "e": { "a": ["text", "text"] } o.e.a[0] o.e.a[1]
7 <e> text <a>text</a> </e> "e": { "#text": "text", "a": "text" } o.e["#text"] o.e.a

Tested Under

  • Linux
  • Mac OS X
  • Windows
  • OpenWRT


WeChat Pay

You can’t perform that action at this time.