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. References

External links

TinyXML1 Homepage
TinyXML2 Documentation
TinyXML2 Homepage
TinyXML++ which adds C++ concepts to TinyXML. TinyXPath which adds XPath syntax decoding to TinyXML in C++. Software using the zlib license
XML parsers