Если вам известен Xml-файл Url для вас (и вы знаете его, потому что это ваш пользовательский Wsp и Xml-файл развернут в некоторой отображаемой виртуальной папке), лучше получить путь локальной файловой системы к файлу и передать его в XmlReader, так какможет произойти сбой с URL-адресом из-за необходимости авторизации.
Например, у меня есть проект с некоторыми файлами Xml и Xslt, развернутыми в сопоставленной папке 'layouts'
И я получил доступ к Config.xml следующим образом
var configDirPath = HttpContext.Current.Server.MapPath("/_layouts/LMUI/Configuration");
var configFilePath = configDirPath + "\\" + "Config.xml";
Прочтите документацию MSDN по HttpContext.Current.Server.MapPath http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx, чтобы получить больше информации.