根据Simple XML framework,我正在尝试使用Loose object mapping tutorial将联系人列表写入XML文件。我想要这样的东西
<ContactsList>
<Contact id="1">
<name>John Doe</name>
<address>Somewhere</address>
</Contact>
<Contact id="2">
<name>Homer Simpson</name>
<address>Somewhere</address>
</Contact>
<Contact id="3">
<name>Flash McQueen</name>
<address>Somewhere</address>
</Contact>
</ContactsList>
这是我的Contact.java
public class Contact {
@Attribute(name = "id")
public int id;
@Element(name="Nom")
String name;
public void setName(String name) {
this.name = name;
}
public void setId(int id){
this.id = id;
}
}
这就是我打电话给所有联系人的方式
Serializer serializer = new Persister();
ContentResolver cr = c.getContentResolver();
Cursor cu = cr.query(URI, null, null, null, null);
taille = cu.getCount();
if (taille > 0) {
// Loop over all contacts
Contact [] contact = new Contact[taille];
int k = 0;
while (cu.moveToNext()) {
name = cu.getString(cu.getColumnIndex(DNAME));
id = cu.getString(cu.getColumnIndex(ID));
contact[k] = new Contact();
contact[k].setName(name);
contact[k].setId(id);
serializer.write(contact[k], xmlFile);
k++;
}
}
问题是,我只收到最后一次存储的联系人,好像文件在循环时被压缩了。我现在正在寻找一种在追加模式下写入xmlFile
的方法。我找不到用serializer.write
方法写入追加模式的方法。或者有更好的方法来做我想要的事情?
答案 0 :(得分:0)
我建议你使用你需要的java库。
请记住,我在独立的java应用程序中使用它,所以你必须检查是否有可行的Android编程。
一般来说,有几种浏览和/或编写XML的方法,Java有3种不同的方法(据我所知): DOM 图书馆, SAX 库, STAX 库如果文档不太长,Dom适合您的目的,否则使用sax或stax是面向事件的库,表明使用更少的内存(并且因为你& #39;重新开发移动设备我觉得它更好。)希望有所帮助