Simple Data eXchange is a modular C++ library that provides a common API for handling various data sources in various formats. It can be used to read files into a DOM-like tree or parse it in a SAX-like way and to write data to files. Backends can be written for virtually any file format and data can be read and written to various sources (for ex. a backend could be written that sends data over the network).
Currently available backends include: