CMarkup: fast simple C++ XML parser
Download Release 11.5 zip (579k)
C++ source code for Linux, Mac, Windows
Notes on Release 11.5 April 23
Create new XML documents, parse and modify existing XML documents from the methods of one simple C++ XML parser class. The zip download contains the CMarkup evaluation C++ source code, a test project and Windows test dialog executable:
Compile XML capability into your own application in minutes. Video screencasts show how you can create a project with the CMarkup XML C++ class: XML VC++ 6.0 or XML VC++ 2008 Express.
Open the zip file and copy Markup.cpp and Markup.h into your C++ project folder
Add Markup.cpp and Markup.h to your project (makefile or IDE)
#include "Markup.h" where you use the CMarkup class
Visual C++ specific:
In Visual C++ projects that use precompiled headers you will need to turn them off for Markup.cpp (see Pre-compiled Header Issue)
In Visual C++ to use STL
string instead of MFC
MARKUP_STL to your C++ Preprocessor Definitions
You may need to define
MARKUP_STDCONV and/or specify iconv or libiconv to your linker to control conversion API usage (see non-Unicode text handling in CMarkup)
C++ XML parser features
Tired of big doggy bloated components? CMarkup is a single small C++ class that compiles into your program and maintains only a string for the document and an index array usually amounting to less than the memory size of the string.
Worried about a learning curve? Only one C++ class, see the Fast start to XML in C++ and CMarkup's simple methods.
Cross-platform without dependencies. No external component is required, the cross-platform C++ source code compiles as-is on numerous compilers including Mac XCode, Linux gcc, Windows Visual C++.
Convenient programming with your native string class. use STL
wstring or MFC
Speed? The single-pass parser gets blazing performance on megabytes, with variations depending on build options and encoding conversions, see CMarkup Performance Tests.
Special build requirements? Build for
MBCS including Far East double-byte, or straight UTF-8.
And a bonus class for MSXML: The additonal MSXML Wrapper CMarkupMSXML demonstrate's Microsoft's XML service with easy CMarkup methods (requires Visual Studio and MFC), and get a head start with the C++ COM syntax.
The download zip file above contains C++ source code for the CMarkup test dialog project, which tests and demonstrates all of the CMarkup classes and build options. You can also step through these regression tests with the foal program in foalexample223.zip in the free firstobject XML editor.
Get your C++ XML done now
Not much learning is required to get going with your C++ XML tasks once you're using CMarkup. Here is an introduction to doing all of the basic XML operations with CMarkup:
Fast start to XML in C++