在Pull解析器解析XML文件(以下简称上文)中是得到XMl文件中的数据,那么该如何将应用中的数据生成XMl文件呢?
创新互联从2013年创立,先为忻府等服务建站,忻府等地企业,进行企业商务咨询服务。为忻府企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。1. 在上文中的业务类PersonService中新建save()类,代码如下
public static void save(List<Person> persons,OutputStream out) throws Exception{ XmlSerializer serializer = Xml.newSerializer();//得到序列化器 serializer.setOutput(out, "UTF-8");//输出流对象 //1.输出<?xml version="1.0" encoding="UTF-8"?>,开始文档 serializer.startDocument("UTF-8", true); serializer.startTag(null, "persons"); for (Person person : persons) { //生成<person ></person> serializer.startTag(null, "person");//开始节点 serializer.attribute(null, "id", person.getId().toString());//生成id="10" serializer.startTag(null, "name"); serializer.text(person.getName()); serializer.endTag(null, "name"); serializer.startTag(null, "age"); serializer.text(person.getAge().toString()); serializer.endTag(null, "age"); serializer.endTag(null, "person");//结束节点 } serializer.endTag(null, "persons"); serializer.endDocument();//文档结束 out.flush();//刷出数据 out.close();//关闭输出流 }
2.在上文中Person类添加如下构造方法
public Person(Integer id, String name, Integer age) { this.id = id; this.name = name; this.age = age; } public Person(){}
3.在上文中PersonServiceTest类中添加如下测试方法
public void testSave() throws Exception{ List<Person> persons = new ArrayList<Person>(); persons.add(new Person(1,"gaoxxx",20));//为添加方便,为Person添加一个构造器 persons.add(new Person(2,"zhuxxx",21)); persons.add(new Person(3,"linxxx",22)); //<包>/files File xmlFile = new File(getContext().getFilesDir(),"AppToXml.xml"); FileOutputStream outputStream = new FileOutputStream(xmlFile);//输出流对象 PersonService.save(persons, outputStream); }
执行该测试方法,就会在当前应用的包底下生成对应的文件,复制到项目中,并利用Source—>Format进行格式化,结果如下
在浏览器中打开的效果如下
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:利用Pull解析器生成XMl文件-创新互联
网页链接:https://www.cdcxhl.com/article10/hjsdo.html
成都网站建设公司_创新互联,为您提供品牌网站设计、Google、网站改版、App设计、做网站、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联