现在的位置: 首页 > 综合 > 正文

android 使用XmlSerializer生成xml文件方法

2018年01月24日 ⁄ 综合 ⁄ 共 1536字 ⁄ 字号 评论关闭

package com.android.antking.xml;
 
import java.io.OutputStream;
import java.util.List;
 
import org.xmlpull.v1.XmlSerializer;
 
import android.util.Xml;
 
 
/**采用pull 生成xml文件
 * 
 * @author antkingwei
 *
 */
public class PullBuildXMLService {
 
    public void buildXML(List<Person> persons,OutputStream outputStream)throws Exception{
        XmlSerializer serializer = Xml.newSerializer();
        serializer.setOutput(outputStream,"utf-8");
        serializer.startDocument("utf-8", true);
        serializer.startTag(null, "perisons");
        for(Person person:persons){
            serializer.startTag(null, "perison");
            serializer.attribute(null, "id",String.valueOf(person.id));
             
            serializer.startTag(null, "name");
            serializer.text(person.name);
            serializer.endTag(null, "name");
             
            serializer.startTag(null, "age");
            serializer.text(String.valueOf(person.age));
            serializer.endTag(null, "age");
 
            serializer.endTag(null, "perison");
        }
        serializer.endTag(null, "perisons");
        serializer.endDocument();
        outputStream.close();
    }
}

2、业务bean
public class Person {
     public int id;
     public String name;
     public int age;
    }
3、调用:
public void writeFile() throws Throwable{
      List<Person> list = new ArrayList<Person>();
     for(int i =0;i<10;i++){
         Person person = new Person();
         person.id = 1;
         person.name = "ant";
         person.age = 12;
         list.add(person);
     }
      File file = new File(MainActivity.this.getFilesDir(),"person.xml");
      FileOutputStream outputStream  = new FileOutputStream(file);
      PullBuildXMLService service = new PullBuildXMLService();
      service.buildXML(list, outputStream);
       
   }

抱歉!评论已关闭.