uma::bson is a DOM-style C++ API for reading/writing BSON data. Unlike the MongoDB C++ API, which exposes a read-only interface with a separate interface for creating a BSON representation, this API allows reading/writing on the existing data. The API is designed primarily for serialising/deserialising BSON data to/from streams (files, socket connections, etc.).
TIXI is a fast and simple XML interface library for applications written in C, C++, Fortran, Java, and Python. Although simplified and somewhat restricted compared to a fully-fledged XML processing library, it can create documents, create and delete nodes, and add and remove element attributes. Routines for reading and writing text nodes and nodes holding integer and floating point numbers are included, along with routines that process aggregates of these simple types for the processing of geometric data, multidimensional arrays, or arrays of vectors.