Matt Sergeant has released an RSS mirroring tool, written in Perl, that cleans up RSS content in addition to maintaining a local copy.
The clean-up process, in addition to fixing "uncuddled &'s", also converts the Latin-1 entities used in RSS documents into XML characters references to improve portability among non-validating XML processors.
After a bit of collaborative development on the perl-xml mailing list with Randal Schwartz, some details involving the time at which the file was fetched have been cleaned up.
Sergeant commented that "If everyone just created RSS files without uncuddled &'s there wouldn't
be a problem ;-) (except the entities, but thats another matter...)."
Related stories: