TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs.
TinyXML-1 served my needs for many years; but it uses memory inefficiently, and doesn't perform as well as desired for mobile devices. I wanted an XML parser that was a little more modern, a little simpler (the "tiny" had been lost a little over the years), and was a good fit for Android.
This led to TinyXML-2.
Online Documentation: general information and an API reference.
TinyXML-2 is available on github, where you can send feedback, get source, share, and submit changes. (You can download the source as a zip using the "Download ZIP" button on the right side.)
TinyXML-1 or TinyXML-2?
- Simple to use with similar APIs.
- DOM based parser.
- UTF-8 Unicode support. http://en.wikipedia.org/wiki/UTF-8
Advantages of TinyXML-2
- The focus of all future dev.
- Many fewer memory allocation (1/10th to 1/100th), uses less memory (about 40% of TinyXML-1), and faster (~5x on read).
- No STL requirement.
- More modern C++, including a proper namespace.
- Proper and useful handling of whitespace
Advantages of TinyXML-1
- Can report the location of parsing errors.
- Support for some C++ STL conventions: streams and strings
- Very mature and well debugged code base.
Thanks for your interest in TinyXML - I hope it is a great parser for your needs.
And thanks to John Mackay for the logo!