libxml++ is a C++ wrapper for the libxml2 XML parser library.
Libxml++ is released under the LGPL version 2 or above.
There are several ABI (Application Binary Interface) versions of libxml++. They can be installed in parallel.
libxml++-2.6: Old ABI, not recommended for new applications. Uses Glib::ustring from the glibmm-2.4 ABI.
libxml++-3.0: Uses Glib::ustring from the glibmm-2.4 ABI, therefore has methods that handle UTF-8 characters rather than raw bytes.
libxml++-4.0: Uses Glib::ustring from the newer glibmm-2.68 ABI, therefore has methods that handle UTF-8 characters rather than raw bytes.
libxml++-5.0: Does not depend on glibmm, is not as good at handling UTF-8 strings, has fewer dependencies.
The APIs of libxml++-3.0, libxml++-4.0 and libxml++-5.0 are very similar. The only significant difference is that libxml++-5.0 uses xmlpp::ustring instead of Glib::ustring.
In a new application, choose between libxml++-4.0 with UTF-8 support and libxml++-5.0 with fewer dependencies. Choose libxml++-3.0 only if you want UTF-8 support but don’t have access to the newer glibmm-2.68 ABI (glibmm version 2.68.0 or higher).
This documentation is frozen on the web. It does not document the latest releases. If you want newer documentation, you can download a tarball from GitHub releases or the GNOME download site, extract it, and view the documentation at untracked/docs/.
Libxml++ uses the GitHub git repository.
There is an old mailing list, which is now closed for new posts. There is an archive of messages here. Please do not email the developers directly.