java - 简单框架 XML 反序列化

标签 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 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>

最佳答案

关于java - 简单框架 XML 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19542455/

相关文章:

java - eclipse中如何解决一个项目中不同模块之间的循环依赖?

java - 如何在数组中搜索并从方法返回?

java - Android无法解析或不是字段

java - 如何使用 SAX 解析器解析 XML

c - sscanf - 带有可选/空格式说明符的解析帧

java - Neo4j 在创建之前检查节点是否存在?

java - java中通过socket传输文件的最佳方法

android - Cordova Android 版本 :app:processDebugResources failed

java - 如何在 PreferenceFragment 中扩充工具栏?

parsing - 可组合语法