2014-02-24 89 views
1

我知道如何使用XSTREAM到XML轉換爲一個對象,它可能包含一個陣列類型字段或載體。但我不知道我是否可以使用它來轉換成SparseArray。這裏是一個演示代碼:如何使用XStream把XML字符串轉換成SparseArray對象?

假設我有一所學校,並且一所學校有很多教室,每個教室都有一個房間號。非常簡單的模式。而且很好用一個sparseArray。

public class School { 
    private SparseArray<Classroom> classrooms; 
} 

public class Classroom { 
    private roomNumber; 
    //OtherStuff 
} 

現在我有一個XML文件是這樣的:

<school> 
    <class> 
     <room_number>1</room_number> 
     <student_number>100</student_number> 
    </class> 
    <class> 
     <room_number>2</room_number> 
     <student_number>100</student_number> 
    </class> 
</school> 

如果我有這樣的XML文件的字符串。我如何設置xStream將其轉換爲我的學校課程?用正確的鍵設置成它的稀疏陣列?

謝謝!

增加:任何其他不使用xStream的方法也是受歡迎的!

回答

0

XStream的工作與轉換器。對於一些「經典」的對象類型,如ArrayList,HashMap,... XStream有一堆預定義的轉換器。 你SparseArray是沒有java「經典」對象及XStream不具有一個內置的轉換器。

所以,我建議你建立自己的基於XStream的ArrayConverter(位於com.thoughtworks.xstream.converters.collections.ArrayConverter)。這門課很簡單,不應該是一件困難的事情。

相關問題