Just committed DOM/Utils/Stream.h to CVS. This provides one of Arabica's most requested features - an operator<< from DOM::Nodes. It is, as ever, fully parameterised, so it should be possible to serialise DOM trees with an arbitrary string type down any stream, so long as the string and stream char types match, and there's an operator<< for the string type. If you're using std::string or std::wstring, it'll just work.
... load instance from somewhere ...
DOM::Document<std::string> doc = domParser.getDocument();
... manipulate doc ...
// dump out to console
std::cout << doc;