如何将xml数据转换为用户定义对象的arraylist

时间:2012-10-30 05:59:49

标签: android arraylist xml-parsing

样本类:

Class Circle
{
    String id;
    double radius;
    Center center;

    Center
    {
        int x;
        int y;
    }
}

我想将信息存储在xml文件中,并在运行时从中读取并填充Circle对象的数组列表。我试着看看android内置的解析器,但我不知道如何工作,也不确定哪个解析器最适合这个操作。

示例XML

<Circles>
    <circle1>
        <id></id>
        <radius></radius>
        <center>
            <x></x>
            <y></y>
        </center> 
    </circle1>
    <circle2>
        <id></id>
        <radius></radius>
        <center>
            <x></x>
            <y></y>
        </center>
    </circle2> 
</Circles>

由于我目前无法使用数据库,因为数据是永久性的,我认为xml将是一个不错的选择。我也对其他解决方案持开放态度。

1 个答案:

答案 0 :(得分:0)

有很多databindung框架可以将您的XML转换为对象(但请选择使用pull-parser的框架)。值得注意的例子是:杰克逊,xstream蚂蚁2390000其他。选择一个大多数套件,具有最低内存foorprint并且是纯Java并且具有较少外部依赖性。

我建议以某种方式改变你的XML结构:

<Circles>
<circle>
    <id></id>
    <radius></radius>
    <center>
        <x></x>
        <y></y>
    </center> 
</circle>
<circle>
    <id></id>
    <radius></radius>
    <center>
        <x></x>
        <y></y>
    </center>
</circle> 

使用列表元素而不是对它们进行编号 - 使databindung更容易