Я запрашиваю фид gmail с помощью XmlReader и XDocument и сталкиваюсь с проблемами, связанными с автоматическими пространствами имен, добавляемыми ко всем элементам.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = new NetworkCredential(username, password);
XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = resolver;
XmlReader reader = XmlReader.Create("https://mail.google.com/mail/feed/atom/", settings);
XDocument doc = System.Xml.Linq.XDocument.Load(reader);
var entries = from x in doc.Elements().First().Elements() where x.Name == "entry" select x;
В этом случае записи будут пустыми, потому что к всем элементам автоматически добавляется пространство имен. Если я изменю x.Name на x.Name.LocalName или namespace + x.Name, то это сработает.
Я бы хотел запретить XmlReader автоматически добавлять пространства имен и запрашивать xml, как он был первоначально отправлен мне - без пространств имен.