Надеюсь, вопрос с очень простым ответом, но я не смог его найти. У меня есть небольшой XML-документ, который выглядит примерно так:
<aa>
<bb><name>bb1</name></bb>
<bb><name>bb2</name></bb>
<bb><name>bb3</name></bb>
</aa>
У меня есть классы, которые представляют aa и bb
[XmlRoot("aa")]
public class aa
{
[XmlArray("bbs")]
[XmlArrayItem("bb")]
public bb[] bbs;
}
public class bb
{
[XmlElement("name")]
public string Name;
}
Когда я пытаюсь десериализовать документ с помощью XmlSerializer, я получаю объект aa со свойством null bbs.
Насколько я понимаю, это связано с тем, что атрибуты, которые я использовал в свойстве bbs, говорят сериализатору ожидать такой документ:
<aa>
<bbs>
<bb><name>bb1</name></bb>
<bb><name>bb2</name></bb>
<bb><name>bb3</name></bb>
</bbs>
</aa>
Учитывая, что я не могу изменить формат получаемого XML, есть ли способ сообщить XmlSerialiser, что он должен ожидать массив, не заключенный в другой тег?