0

我有一个读取 XML 文件并向用户提供一些信息的 android 应用程序。数据结构是一个简单的ArrayList。用户浏览列表,他们可能会进行更改,也可能不会仅根据情况进行更改。完成后,他们保存。

最终我们想要 RDBMS 上的数据,但他们可能在那一刻没有数据连接,所以我需要持久化它。即使他们确实有数据连接,我知道我已经将数据结构序列化到了 sd 卡上,我可能会感到很自在。

所以第一步是我将它保持在二进制状态(它是一个非常小的数据对象)还是将它序列化为 XML,这是我最初的想法。这样,它就可以以 xml 形式上传到 Web 服务。

如果我将其序列化为 XML,是否有任何我可以阅读的库/示例。我使用 SAX 来解析它,但我认为必须有类似简单的重载才能将其转储出来????

伪代码:

ArrayList<MyOb>;
MyObj.Serialize("doc.xml");

如果我将它保持在二进制状态,当用户确实有数据连接并且是时候上传时,我需要考虑哪些步骤。

TIA JB

4

2 回答 2

1

您可以使用一个很棒的库JAXB(用于 XML 绑定的 Java 架构

JAVA Beans <---> XML 数据

JAXB 基础教程

下面是一些示例代码,让您体验一下

@XmlRootElement
public class Customer {

    String name;
    int age;
    int id;

    public String getName() {
        return name;
    }

    @XmlElement
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    @XmlElement
    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    @XmlAttribute
    public void setId(int id) {
        this.id = id;
    }

}

使用此代码形成的 XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customer id="100">
    <age>29</age>
    <name>mkyong</name>
</customer>
于 2012-12-02T19:02:30.223 回答
0

我打算将数据作为 xml 保存在 sdcard 上。这是我能辨别的最好的方法。

于 2012-12-03T17:38:16.297 回答