# 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
|