TinyXML

Lightweight C++ XML parser library


title: "TinyXML" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["software-using-the-zlib-license", "xml-parsers"] description: "Lightweight C++ XML parser library" topic_path: "general/software-using-the-zlib-license" source: "https://en.wikipedia.org/wiki/TinyXML" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Lightweight C++ XML parser library ::

::data[format=table title="Infobox software"]

FieldValue
nameTinyXML
developerLee Thomason
latest release version11.0.0
programming languageC++
latest release date
genreAPI
licensezlib License
website
::

| name = TinyXML | developer = Lee Thomason | latest release version = 11.0.0 | programming language = C++ | latest release date = | genre = API | license = zlib License | website = 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.

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.

It is written in C++98, and does not rely on the C++ Standard Library. It makes no use of exceptions or run-time type information.

TinyXML-2 improves on TinyXML-1 and replaces it entirely, using less memory, less allocations, and having faster performance. TinyXML-2 further improved on the library's usability for applications with minimal XML requirements, such as video games.

Limitations

  • TinyXML is minimalistic, and is not W3C standards-compliant, or comprehensive like Simple API for XML, and not ideal for browsers or any application requiring complete XML coverage.
  • 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

References

  1. "TinyXml Main Page".
  2. Drew Sikora, John Hattan. "Beginning Game Programming: A GameDev.net Collection (Course Technology Cengage Learning)".
  3. "TinyXml Documentation".

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

software-using-the-zlib-licensexml-parsers