如何在不指定列表元素的情况下将c#中的嵌套列表序列化为XML?

时间:2013-03-14 21:02:32

标签: c# xml xml-parsing

我有两节课:

public class Foo
{
    public string FooName{get;set;}
    public List<Bar> Bars{get;set;}
}

public class Bar
{
    public string BarName{get;set;}
}

如果我使用XML解析器对其进行序列化,我会提出:

<Foo>
    <FooName>ExampleFooName</FooName>
    <Bars>
        <Bar>
             <BarName>ExampleBarName</BarName>
        </Bar>
        <Bar>
             <BarName>AnotherExampleBarName</BarName>
        </Bar>
    </Bars>
<Foo>

有没有办法收到这个结果:

<Foo>
    <FooName>ExampleFooName</FooName>

    <Bar>
         <BarName>ExampleBarName</BarName>
    </Bar>
    <Bar>
         <BarName>AnotherExampleBarName</BarName>
    </Bar>
<Foo>

我希望重构Foo和Bar类,或者将一些参数传递给XMLSerializer以接收结果。我真的想避免编写自己的XML解析器。

1 个答案:

答案 0 :(得分:2)

public class Foo
{
    public string FooName{get;set;}
    [XmlElement("Bar")]
    public List<Bar> Bars{get;set;}
}