C#XML De序列化和数组

时间:2010-07-08 10:20:45

标签: c# xml serialization xml-deserialization

有下一个xml文件:

<element Name="root">
    <SubFields>
        <element Name="subroot">
            <SubFields>
                <element1 Name="element1" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element1 Name="element11" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element1 Name="element111" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element2 Name="element2" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
                <element2 Name="element22" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
                <element2 Name="element222" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
            </SubFields>
        </element>
    </SubFields>
</element>

我将元素数组映射为[XmlArray("SubFields")],其中SubFields是数组的根,问题:  如何映射对象中元素的差异类型? 我可以拥有很多subroot -s元素。

2 个答案:

答案 0 :(得分:1)

我用xsd.exe来做。

答案 1 :(得分:0)

使用XMLSerializer课程。在底部附近有一个关于使用Property属性将对象映射到xml元素的部分