简体   繁体   中英

How to serialize this Xml in .NET (array)

I need Xml that looks like this

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

And currently have the following class structure :

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

But this gives me Xml where bar items are wrapped inside a bars element. How should I define my custom XmlAttributes so I'd get the Xml structure I need?

I had to solve something similar yesterday, and this was the solution for me:

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

The solution I use is this:

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

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

In fact, I defined Foo as a List<T> , so it works as a generic list. The type in that list just needs to define the XmlType attribute.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM