Trying to reinvent the fewest wheels, I found MyRSS, an OCaml library for parsing RSS. (Not to be confused with the million other "MyRSS" programs out there, such as MyRSS, a Python aggregator.)
They use XML light, which I pointed at a feed or two until I discovered it doesn't even support CDATA. Um.
I sent the XML light author a patch but it really seems to me that if I were making an XML lexer/parser I'd start with the XML spec and just follow the (incredibly verbose) spec. But I guess it is a "light" parser.
Blah, wasting time.
Jeff Waugh always sends encouraging mail to the GNOME lists, keeping people motivated. Whenever I read something inspiring via DWN or whatever, I try to remember to send "thanks" emails to the people that are doing thankless work on my behalf.