Book book = (Book)(reader.ReadAsObject(typeof(Book)));
ProcessBook (book) // Do some processing on the book object
} while (reader.ReadToNextSibling("book"));
OK, the highlighted bit is just so cool I can barely wait to start using it.
In case it's not obvious from the code, they've married XmlSerializer and XmlReader so you can stream through a document, yanking out objects as you go. They've also added the even cooler ability to write objects into an XmlWriter stream. To resurrect a saying from my youth: mint!