0
如果我改變我的Data.xml文件,現在包含兩個分支而不是一個我該如何着手捕捉數組中的對象?簡單框架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();
}
當前Data.java文件:
@Root(name="Data")
public class Data {
@Element(name="pkmn")
private Pokemon pokemon;
public Pokemon getPokemon() {
return pokemon;
}
}
當前Pokemon.java文件:
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>
新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>
<pkmn>
<nm>Blastoise</nm>
<tp>water</tp>
<ablt>torrent</ablt>
<wkns>electric</wkns>
<img>blastoise</img>
</pkmn>
</Data>