Joe has talked about XStream: how to serialize objects to non XML formats.
As was mentioned in the comments, this could be tweaked to have a reader/writer combo which could understand YAML.
This way it would be both more readable (which Joe wanted), and usable as a format itself.
It would even be kinda cool to have an abstraction so you could:
Person p = (Person) xstream.load(”bloke”);
And it would look for bloke.xml, bloke.yml, … and grab the one that comes up.