用pull生成xml跟用pull解析xml類似,如果下面的解析代碼有不理解的地方可以先閱讀上一篇參考,博客主要用於學習分享,如果有不正確的,歡迎吐槽。
* * 代碼實現 (用pull生成xml)*
/**
* 用pull生成XML文件
* @param data :數據源
* @param fos :輸出流
*/
public static void exportXML(ArrayList<HashMap<String, Object>> data,
FileOutputStream fos) throws Exception{
//通過ArrayList生成XML文件
//獲取序列號器
try{
XmlSerializer serializer=Xml.newSerializer();
//設置輸出流
serializer.setOutput(fos, "UTF-8");
serializer.startDocument("UTF-8", true);
serializer.startTag(null, BOOKS);
for(HashMap<String, Object> map:data){
serializer.startTag(null, BOOK);
//設置屬性
serializer.attribute(null, ID, map.get(ID).toString());
//寫name標記
serializer.startTag(null, NAME);
//寫書名
serializer.text(map.get(NAME).toString());
serializer.endTag(null, NAME);
//寫price標記
serializer.startTag(null, PRICE);
//寫書名
serializer.text(map.get(PRICE).toString());
serializer.endTag(null, PRICE);
serializer.endTag(null, BOOK);
}
serializer.endTag(null, BOOKS);
//文檔結束
serializer.endDocument();
}finally{
fos.close();
}
}