Сериализация XML списка, где родительский элемент имеет дополнительные элементы - PullRequest
3 голосов
/ 12 января 2010

Как этого добиться в сериализуемых классах C # xml?

<Category Attrib1="Value1" Attrib2="Value2">
  <Item>Item1</Item>
  <Item>Item2</Item>
  <Item>Item3</Item>
  <Item>Item4</Item>
</Category>

Наследование категории от List<Item> приводит к тому, что два свойства категории игнорируются сериализатором xml. Если Category состоит из свойства List<Item>, родительский элемент добавляется вокруг всех элементов (например, Category \ Items \ Item). Оба нежелательны. Xml должен выглядеть как в примере выше.

1 Ответ

3 голосов
/ 12 января 2010

Попробуйте это:

public class Category
{       
    [XmlAttribute]
    public string Attrib1 { get; set; }

    [XmlAttribute]
    public string Attrib2 { get; set; }     

    [XmlElement("Item")]
    public List<string> Items { get; set; }
}

Протестировано и отлично работает.

...