XmlSerializer将所有子项转换为列出或匹配任何名称[XmlElement(ElementName =" *")]

时间:2016-03-28 13:42:52

标签: c# asp.net xmlserializer

XmlSerializer中是否存在此类[XmlElement(ElementName =" *")]的扩展。我的意思是仅针对XML结构中的特定级别。

我有以下XML元素结构;

<AirlineList>
    <AQR>...</AQR>
    <ABA>...</ABA>
    <AAI>...</AAI>
    <A9W>...</A9W>
    <AVS>...</AVS>
    <AAF>...</AAF>
    <AEY>...</AEY>
    <ALH>...</ALH>
    <AQF>...</AQF>
</AirlineList>

children元素的xml结构完全相同 - 它们碰巧有不同的标记名称。有没有办法将这些元素转换为AirlineList列表,但使用相同的对象类型。即;我得到的航空公司;

    [XmlElement(ElementName = "AirlineList")]
    public AirlineList List<Airline> { get; set; }

目前我必须使用它;

public class AirlineList
{
    [XmlElement(ElementName = "AQR")]
    public List<AQR> AQR { get; set; }
    [XmlElement(ElementName = "ABA")]
    public List<ABA> ABA { get; set; }
    [XmlElement(ElementName = "AAI")]
    public List<AAI> AAI { get; set; }
    [XmlElement(ElementName = "A9W")]
    public List<A9W> A9W { get; set; }
    [XmlElement(ElementName = "AVS")]
    public List<AVS> AVS { get; set; }
    [XmlElement(ElementName = "AAF")]
    public List<AAF> AAF { get; set; }
    [XmlElement(ElementName = "AEY")]
    public List<AEY> AEY { get; set; }
    [XmlElement(ElementName = "ALH")]
    public List<ALH> ALH { get; set; }
    [XmlElement(ElementName = "AQF")]
    public List<AQF> AQF { get; set; }
}

我想将其转换为航空公司列表

0 个答案:

没有答案