Если у вас есть несколько ModelDescriptor
объектов в файле, для того, чтобы XML-файл был действительным, у вас должен быть один корневой элемент - что-то вроде:
<root>
<ModelDescriptor>
....
</ModelDescriptor>
<ModelDescriptor>
....
</ModelDescriptor>
</root>
В основном,вы бы создали фиктивный класс «контейнер», который, в свою очередь, содержит список ModelDescriptor
объектов:
[XmlRoot(Namespace = "", IsNullable = false)]
public class root
{
[XmlElement("ModelDescriptor", Form = XmlSchemaForm.Unqualified)]
public List<ModelDescriptor> Items { get; set; }
}
public class ModelDescriptor
{
public string Model { get; set; }
}
Теперь вы сможете десериализовать ваш файл в объект типа root
иполучите ваши ModelDescriptors в списке Items
:
FileStream fs = new FileStream(@"YourFileNameHere", FileMode.Open, FileAccess.Read);
XmlSerializer ser = new XmlSerializer(typeof(root));
var result = ser.Deserialize(fs); // would be an object of type "root" with the ModelDescriptor inside