XLinq
XLinq is roughly where I’d like to go with Inkscape’s XML APIs. It’s really quite elegant, if you can ignore the fact that most of the code examples are given in Visual Basic. Monads! In Visual Basic!
I don’t know how doable it would be in C++, though. The whole reason e.g. XLinq and similar things are more elegant than DOM is that they assume closures, first-class functions, and to some extent type inference that even modern Visual Basic has but C++ doesn’t.
On a general note, Microsoft has been very wise to hire up all the best functional programming researchers, because as we near the end of the age of the present, serial, computing architecture, functional programming will not only become increasingly effective, it will eventually become the only practical way to do things.
I don’t know if you all have been watching, but C# - and by extension other CLR-targetted languages including VB - have been rapidly converging on Lisp and Haskell. The newest C# revisions are beginning to incorporate Lisp-like AST manipulation (without requiring the inhumane syntax), and Haskell-esque type inference.
I’d very strongly recommend that anyone doing programming today should prepare by learning a dialect of ML (Haskell, ideally) and one of Lisp (Scheme, probably). Both language families have become attractors which most of the others are approaching asymptotically. With Lisp especially, most people probably haven’t bothered to look past the parenthesis to see just how much it has contributed to languages like Perl, Ruby and Python.
And definitely, definitely work on getting a handle on monads. As a programming tool, they’re not too difficult to understand or use once you grok them, though admittedly most of the tutorial material out there unnecessarily complicates the issue. You can do monadic things in most languages, though not all languages can do them reasonably efficiently. I’m working on a tutorial on monads in Ruby (not one of the efficient languages, yet, sadly), which I’ll plug here once I further refine the first few chapters.