A general purpose XML parser for C++ designed for execution speed and practical usage. It can also modify nodes and output a full xml document.
Rapidxml is a header-only XML parser with high usability, portability, and very good W3C compatibility.
- no dependencies (except standard C++ library
<cassert>
,<cstdlib>
,<new>
, and<exception>
- character type agnostic: supports narrow and wide, wchar_t UTF-16 and UTF-32, and UTF-8 if endianness is native
- special memory pool object management for speed
- not fully W3C compliant: ignores
DOCTYPE
declarations, and minor incompatibilities - robust and has a large unit test harness
- easy to learn and use: begin writing useful parsing code in less than five minutes
- license is Boost Software License or MIT License
- stable since 2006
- an additional header-only file adds the ability to stream out and format an xml document
- other header classes simplify iterating through a document, loading from a file, and get child counts
Rapidxml is widely cross-platform compatible, its execution speed is proportional to the length of the XML data parsed, and it requires no configuration and no metadata or schema.