Android is great fun for this stuff!
There a lot of apps in the market that can back up text messages. Normally, you do get an XML file like you referred to. These should be opened with Excel or Open Office.
Like many others, I prefer Google Voice. Messages are auto-saved on Google's servers, without any set up or button pushing on my end. On my phone, open the app, scroll through to find what I need. Can sort by text, voicemail, etc. On the PC, can search very, very nicely and quite efficiently. But is it printer friendly? Watch everyone say no.
But it is! There's a great little Python script you can run on your PC to get all of the text messages off Google Voice. Takes quite a bit of set up to do, and I spent about 3 days tinkering and tweaking until I was satisfied. Now I can run the script and have sortable data in Excel in about 5 minutes.
Other stuff on Android? Sure. Use an SMS App like Handcent that has an auto-backup feature. Pay for the app (I think) but worth its weight in gold, even without the backup feature. MacAfee has WaveSecure for Android. You can back up all texts and phone logs online, automagically. On top of that, it offers a little extra security if you're concerned about a lost or stolen phone. Or if you want to use the nifty GPS tracking feature of it to track your phone while someone drives around town with it. You can lock it remotely, wipe the data remotely, etc., and all of your info will be stored securely online. Requires an annual subscription, but for shear ease of use, it's near the top of my list.
Probably some others out there as well, but those have been my main ones. In regards to backing up text messages, I followed a simple rule:If you don't have a plan b, you don't have a plan. What are you going to do when that app fails, or you forget to backup what you wanted? Get something that automatically backs up online as messages come/go.
What am I to do with all this silence
Shy away, shy away phantom
Run away terrified child