Reputation: 581
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?
Upvotes: 5
Views: 149
Reputation: 172786
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.
Upvotes: 3
Reputation: 72890
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;
}
Upvotes: 7