Если ваш класс, для которого вы хотите создать экземпляры, имеет согласованные сопоставления XML, вы можете использовать одну из платформ сериализации .NET вместо или в сочетании с LINQ to XML. Например, если вы использовали сериализацию контракта данных, то задайте этот класс:
[DataContract]
public class MySerializableObject
{
[DataMember]
public string PropertyA { get; set; }
[DataMember]
public int PropertyB { get; set; }
}
У вас может быть такой код:
using (var someStream = OpenXmlStream())
{
var deserializer = new DataContractSerializer(
typeof(List<MySerializableObject>));
var myList = deserializer.ReadObject(someStream)
as List<MySerializableObject>;
}