use of xml

I think there are very good reasons to keep your data in the file system, and I do this routinely. However, using the DOM as an in-memory data structure os something that I find painful even to contemplate. If you really want to do this, then you might look at libxml as an alternative (much faster with some nice utilities).

You've got some alternatives: ActiveRecord, which undeniably fits nicely into Rails, but then you've got a database to deal with. YAML which may well be what you are hoping for by using XML (but I've experienced some problems with it). There is also JSON and a more Ruby-like variant called Ron. With JSON/Ron and YAML you won't have control over the appearance of the file on disk, control that you would have with XML, and that might be a problem -- but you'll have a much nicer programming model.

A final alternative for XML is to use something like xampl (I'm biased, see the links below). This gives you some reasonable control over the on-disk appearance and a *much* easier API to manipulate the XML in your program (the API is just Ruby). I don't know if I'd start something new with the current version of xampl, there's a new version of xampl that I'll be releasing soon (I hope) that is much improved and works pretty much transparently with Rails (unless you want to use Rail's scaffolding). The documentation in the examples download is still almost entirely correct, I've just added stuff.

Good luck. I'd be interested in knowing what you chose to do and how it works out.

Cheers,
Bob