Я не нашел никакой информации по этому вопросу, может быть, кто-то может помочь.
У меня есть XML (упрощенный для удобства):
<content>
<field1>value</field1>
<field2>
<field3>value</field3>
</field2>
</content>
Я пытаюсь десериализовать его, используя такиеклассы:
[XmlRoot("content")]
public class Content
{
[XmlElement]
public List<Item> Fields { get; set; }
}
public class Item
{
[XmlElement]
public List<Item> Fields { get; set; }
[XmlText]
public String Value { get; set; }
}
У меня два вопроса:
Могу ли я узнать фактическое название поля?Как [XmlName] string name;
в классе Item?Или какой-то атрибут для самого класса?По некоторым причинам невозможно установить имя узла равным «field» и добавить атрибут «type» ;-) Хотя процесс создания класса и сериализации действительно сложен, я бы предпочел не реализовывать свой собственный сериализатор.
Можно ли добавить подстановочный знак, например [XmlElement ("field *")]?Я не могу проверить это, пока не узнаю ответ на первый вопрос, поэтому, если есть лучший вариант, я бы тоже хотел узнать это.
Спасибо.