Как сериализовать этот XML в .NET (массив) - PullRequest
5 голосов
/ 28 мая 2010

Мне нужен Xml, который выглядит так

<foo>
  <bar ... />
  <bar ... />
</foo>

И в настоящее время имеет следующую структуру классов:

[XmlRoot("foo")]
public class Foo
{
  [XmlArrayItem("bar")]
  public List<Bar> myBars;
}

Но это дает мне XML, где элементы бара заключены в элемент бара. Как мне определить мои собственные атрибуты XmlAttributes, чтобы получить нужную структуру Xml?

Ответы [ 2 ]

7 голосов
/ 28 мая 2010

Мне пришлось вчера решить нечто подобное, и для меня это было решение:

[XmlRoot("foo")]
public class Foo
{
    [XmlElement("bar")]
    public List<Bar> myBars;
}
3 голосов
/ 28 мая 2010

Я использую следующее решение:

[XmlRoot("foo")]
public class Foo : List<Bar>
{
}

[XmlType("bar")]
public class Bar
{
}

На самом деле, я определил Foo как List<T>, поэтому он работает как общий список. Тип в этом списке просто должен определить атрибут XmlType.

...