У меня есть XML-файл в следующем формате:
<?xml version="1.0" encoding="UTF-8"?>
<Items>
<Item Property1="A" Property2="B" />
<Item Property1="C" Property2="D" />
</Items>
Мне нужно прочитать элементы <Item>
как объекты класса MyClass
, используя XmlSerializer.
public class MyCLass
{
[XmlAttribute]
public string Property1 { get; set; }
[XmlAttribute]
public string Property2 { get; set; }
}
В настоящее время у меня есть следующий код для чтения файла:
XmlSerializer serializer =
new XmlSerializer(typeof(MyClass[]), new XmlRootAttribute(@"Items"));
MyClass[] list = (MyClass[])serializer.Deserialize(...);
Поскольку имя элемента <Item>
отличается от имени класса MyCLass
, элементы в массиве вообще не десериализованы. Приведенный выше код работает, если я переименую MyClass
в Item
, но, к сожалению, мне не разрешено изменять XML-файл или имена классов.
Как мне сопоставить их так, чтобы файл можно было правильно прочитать?
Заранее спасибо!