繁体   English   中英

改造用于嵌套数组的simpleXML转换器

[英]Retrofit simpleXML Converter for nested arrays

我在弄清楚如何为simplexml创建POJO模型时遇到了麻烦。

假设我有一个要从中提取数据的xml,如下所示:

<root>
    <station>
        <station>
            <abbr>Abbr1</abbr>
        </station>
    </station>
    <station>
        <station>
            <abbr>Abbr2</abbr>
        </station>
    </station>
    <station>
        <station>
            <abbr>Abbr3</abbr>
        </station>
    </station>
</root>

所以基本上我想我在Array中有一个数组,所以我这样编码了Java模型:

@org.simpleframework.xml.Root(name="root")
public class Root {
    @Element(name="stations")
    public Stations stations;

    @Element(name="station")
    public Station[] station;

    @Element(name="abbr")
    public String abbr;
    public class Stations{
        public Station[] station;
    }

    public class Station{
        public String abbr;
    }
}

我尝试调整注释,但是无法正常工作。 非常感谢您的帮助,谢谢。

我发现XML结构有点奇怪,因为子站标签似乎是多余的。 但是,如果这是您要使用的,那么这些注释的POJO可能对您有用(我将“ Root”类替换为“ MyResponse”):

@Root
public class Station {
    @Path("station")
    @Element(name = "abbr") String abbr;
}

@Root
public class MyResponse {
    @ElementList(entry = "station", inline = true)
    ArrayList<Station> stationsList;
}

即,我使用@ElementList来注释父“站”标签的列表,而不是普通的@Element注释:对于这些情况,简单的xml框架同时具有@ElementList@ElementArray ,我更喜欢前者。

另外,由于子'station'标签似乎没有实际用法,因此我通过使用@Path注释“跳过”了它们。

如果您想了解有关这些技术的更多信息,请尝试查看list上的Simple XML文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM