You should be able to use it pretty much as posted (converted to VB firstobviously). The only change I'd make is that I'd make it a "Load" method that returns the xml document instead. Just before returning it would check errors.count and throw an apropriate exception if the count is greater than zero.

Mind you, I'm sitting here not having tried it so there may be all sorts of stings in the tail I've missed.