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
make
./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 (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
|
- Linux
- Mac OS X
- Windows
- OpenWRT