0
我正在嘗試使用Simple XML framework(根據Loose object mapping tutorial)將聯繫人列表寫入XML文件。我想是這樣的如何在追加模式下編寫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
方法在追加模式下寫入的方法。或者有更好的方法去做我想做的事情?
缺少一段代碼:你從哪裏得到對象序列化程序? –
儘管我不知道這是否是您遇到的問題,但我認爲XML文檔應該只有一個根元素。 – Mike
@Giuseppe你是什麼意思? 'Serializer serializer = new Persister();'就在'contentResolver'調用之前。我編輯了第一篇文章。 –