Java 简单框架XML反序列化

Java 简单框架XML反序列化,java,android,parsing,simple-framework,serialization,Java,Android,Parsing,Simple Framework,Serialization,如果我将Data.xml文件更改为现在包含两个分支而不是一个分支,那么如何捕获数组中的对象 当前MainActivity.java文件: try { Serializer serializer = new Persister(); AssetManager assetManager = getAssets(); InputStream inputStream = assetManager.open("data.xml");

如果我将Data.xml文件更改为现在包含两个分支而不是一个分支,那么如何捕获数组中的对象

当前MainActivity.java文件:

    try {
        Serializer serializer = new Persister();
        AssetManager assetManager = getAssets();
        InputStream inputStream = assetManager.open("data.xml");
        Data d = serializer.read(Data.class, inputStream);
        System.out.println(d.getPokemon());
    } 
    catch (Exception e) {
        e.printStackTrace();
    }
@Root(name="Data")
public class Data {

    @Element(name="pkmn")
    private Pokemon pokemon;

    public Pokemon getPokemon() {
        return pokemon;           
    }
}
public class Pokemon implements Serializable{


    @Element(name="nm")
    private String name;
    @Element(name="tp")
    private String type;
    @Element(name="ablt")
    private String abilities;
    @Element(name="wkns")
    private String weakness;
    @Element(name="img")
    private String image;

    public Pokemon(){}
    public Pokemon(String n, String t, String a, String w, String i){
        name = n;
        type = t;
        abilities = a;
        weakness = w;
        image = i;
    }
    public String toString() {...}
当前Data.java文件:

    try {
        Serializer serializer = new Persister();
        AssetManager assetManager = getAssets();
        InputStream inputStream = assetManager.open("data.xml");
        Data d = serializer.read(Data.class, inputStream);
        System.out.println(d.getPokemon());
    } 
    catch (Exception e) {
        e.printStackTrace();
    }
@Root(name="Data")
public class Data {

    @Element(name="pkmn")
    private Pokemon pokemon;

    public Pokemon getPokemon() {
        return pokemon;           
    }
}
public class Pokemon implements Serializable{


    @Element(name="nm")
    private String name;
    @Element(name="tp")
    private String type;
    @Element(name="ablt")
    private String abilities;
    @Element(name="wkns")
    private String weakness;
    @Element(name="img")
    private String image;

    public Pokemon(){}
    public Pokemon(String n, String t, String a, String w, String i){
        name = n;
        type = t;
        abilities = a;
        weakness = w;
        image = i;
    }
    public String toString() {...}
当前Pokemon.java文件:

    try {
        Serializer serializer = new Persister();
        AssetManager assetManager = getAssets();
        InputStream inputStream = assetManager.open("data.xml");
        Data d = serializer.read(Data.class, inputStream);
        System.out.println(d.getPokemon());
    } 
    catch (Exception e) {
        e.printStackTrace();
    }
@Root(name="Data")
public class Data {

    @Element(name="pkmn")
    private Pokemon pokemon;

    public Pokemon getPokemon() {
        return pokemon;           
    }
}
public class Pokemon implements Serializable{


    @Element(name="nm")
    private String name;
    @Element(name="tp")
    private String type;
    @Element(name="ablt")
    private String abilities;
    @Element(name="wkns")
    private String weakness;
    @Element(name="img")
    private String image;

    public Pokemon(){}
    public Pokemon(String n, String t, String a, String w, String i){
        name = n;
        type = t;
        abilities = a;
        weakness = w;
        image = i;
    }
    public String toString() {...}
当前Data.xml文件:

<?xml version = "1.0" encoding = "utf-8" ?>
<Data>
<pkmn> 
        <nm>Beedrill</nm> 
        <tp>bug</tp> 
        <ablt>swarm</ablt>
        <wkns>fire</wkns>
        <img>beedrill</img>
    </pkmn> 
<Data>
<?xml version = "1.0" encoding = "utf-8" ?>
<Data>

    <pkmn> 
        <nm>Beedrill</nm> 
        <tp>bug</tp> 
        <ablt>swarm</ablt>
        <wkns>fire</wkns>
        <img>beedrill</img>
    </pkmn> 

    <pkmn> 
        <nm>Blastoise</nm> 
        <tp>water</tp> 
        <ablt>torrent</ablt>
        <wkns>electric</wkns>
        <img>blastoise</img>
    </pkmn> 
</Data>

比德里尔
缺陷
一大群
火
比德里尔
新的Data.xml文件:

<?xml version = "1.0" encoding = "utf-8" ?>
<Data>
<pkmn> 
        <nm>Beedrill</nm> 
        <tp>bug</tp> 
        <ablt>swarm</ablt>
        <wkns>fire</wkns>
        <img>beedrill</img>
    </pkmn> 
<Data>
<?xml version = "1.0" encoding = "utf-8" ?>
<Data>

    <pkmn> 
        <nm>Beedrill</nm> 
        <tp>bug</tp> 
        <ablt>swarm</ablt>
        <wkns>fire</wkns>
        <img>beedrill</img>
    </pkmn> 

    <pkmn> 
        <nm>Blastoise</nm> 
        <tp>water</tp> 
        <ablt>torrent</ablt>
        <wkns>electric</wkns>
        <img>blastoise</img>
    </pkmn> 
</Data>

比德里尔
缺陷
一大群
火
比德里尔
胚芽发育
水
激流
电的
胚芽发育

根据文档,您可以使用
@ElementList
[1]或
@ElementArray
[2]