TinyXML

TinyXML is a small, simple, operating system-independent XML parser for the C++ language. It is free and open source software, distributed under the terms of the zlib License.

TinyXML-2 replaces TinyXML-1 completely and only this version should be used.

Features
The principal impetus for TinyXML is its size, as the name suggests. It parses the XML into a DOM-like tree. It can both read and write XML files.

Limitations

 * TinyXML does not process DTDs, either internal or external. So XML files that rely upon DTD-defined entities will not parse correctly in TinyXML.
 * Though it does handle processing instructions, it has no facilities for handling XSLT stylesheet declarations. That is, it does not apply an XSLT declared in a stylesheet processing instruction to the XML file when parsing it.
 * Further, TinyXML has no facility for handling XML namespaces. Qualified element or attribute names retain their prefixes, as TinyXML makes no effort to match the prefixes with namespaces.
 * In terms of encodings, it only handles files using UTF-8 or an unspecified form of ASCII similar to Latin-1.