«Нет», вероятно, просто означает, что он еще не начал повторяться и находится в BOF (из-за отсутствия лучшего термина). Это все еще должно работать. Обычно, если это не так, это означает, что пространства имен неверны - дважды проверьте xmlns
в источнике.
Это прекрасно работает, например:
public class Test
{
static void Main()
{
var doc = new XmlDocument();
doc.LoadXml(@"<Test foo=""bar""></Test>");
var ser = new XmlSerializer(typeof(Test));
using (var reader = new XmlNodeReader(doc.DocumentElement))
{
var test = (Test)ser.Deserialize(reader);
Console.WriteLine(test.Foo);
}
}
[XmlAttribute("foo")]
public string Foo { get; set; }
}