# xml2json **Repository Path**: cheedoong/xml2json ## Basic Information - **Project Name**: xml2json - **Description**: a C++ header-only library to convert XML document to JSON format - **Primary Language**: JSON工具 - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 33 - **Forks**: 13 - **Created**: 2013-12-12 - **Last Updated**: 2023-07-14 ## Categories & Tags **Categories**: json-tools **Tags**: None ## README xml2json ======== ## A header-only C++ library converts XML to JSON ### Usage 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 ```bash make ./xml2json input.xml ``` #### C++ API ```C++ std::string xml2json(const char *xml_str) ``` ### Description 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 (http://v.qq.com) 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 ### Donate ![WeChat Pay](https://raw.githubusercontent.com/Cheedoong/xml2json/master/donate/wechatpay_cheedoong.png) ![AliPay](https://raw.githubusercontent.com/Cheedoong/xml2json/master/donate/alipay_cheedoong.jpg)