У меня есть XML-документ, похожий на следующий:
<scan_details>
<object name="C:\Users\MyUser\Documents\Target1.doc">
...
</object>
<object name="C:\Users\MyUser\Documents\Target2.doc">
...
</object>
...
</scan_details>
Я надеюсь использовать атрибуты System.Xml.Serialization
для упрощения десериализации XML. У меня проблема: я не могу понять, как указать, что root node содержит массив.
Я попытался создать следующие классы:
[XmlRoot("scan_details")]
public class ScanDetails
{
[XmlArray("object")]
public ScanDetail[] Items { get; set; }
}
public class ScanDetail
{
[XmlAttribute("name")]
public string Filename { get; set; }
}
Однако, когда я десериализую XML в объект ScanDetails
, массив Items
остается null
.
Как десериализовать массив в корневом каталоге node?