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": [""]
|
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"
}]
|
o.e["name"]
o.e["_"]
|
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"],
"a": ["text"]
}]
|
o.e["_"]
o.e.a
|
- Linux
- Mac OS X
- Windows
- OpenWRT