具有多个名称的XmlArray

我搜索了几个小时,发现了类似的结果,但没有针对此特定方案。考虑以下XML文件。


<root>

<largeImages>

    <largeImage>

        <url>./imageLarge.jpg</url>

        <height>480</height>

        <width>640</width>

    </largeImage>

</largeImages>

<smallImages>

    <smallImage>

        <url>./imageSmall.jpg</url>

        <height>240</height>

        <width>320</width>

    </smallImage>

</smallImages>

</root>

我正在尝试将其反序列化为单个图像阵列,而不是2个阵列。


public class root {

    [XmlArray("largeImages")]

    [XmlArrayItem("largeImage")]

    public image[] largeImages { get; set; }


    [XmlArray("smallImages")]

    [XmlArrayItem("smallImage")]

    public image[] smallImages { get; set; }

}

这个课给我2个数组。root.largeImages和root.smallImages。由于我的应用程序不关心大小图像,因此我想反序列化为单个数组root.images。我尝试了XmlArray,XmlArrayItem,XmlElement甚至XmlChoiceIdentifier的变体,但均未成功。我正在考虑以下内容,这些内容将无法编译,因为显然XmlArrayAttribute每个属性只能使用一次。


[XmlArray("largeImages")]

[XmlArray("smallImages")]

[XmlArrayItem("largeImage")]

[XmlArrayItem("smallImage")]

public image[] images { get; set; }

显然,在对XML进行反序列化之后,我可以在代码中合并2个数组,但这似乎应该很简单。


慕容森
浏览 149回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP