- 浏览: 937357 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
在前面我们知道了怎样去解析xml文档,NOW如果让我们去生成xml文档怎么做呢?在这里其实有很多的方法可以去做例如我们可以再android中使用StringBuilder来组拼xml文档也可以使用DomAPI来生成xml文档,如果在像android这样的手机设备我们最好使用pull解析器去生成xml文档。那么下面就让我们来实现吧!
下面的业务类封装了生成xml文档过程
public class WriteXMLService {
public String WriteXml(List<Person> ls,Writer writer)
{
XmlSerializer serializer=Xml.newSerializer();
try {
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);//写<?xml version="1.0" encoding="UTF-8"?>
//第一个参数为命名空间,如果不使用命名空间,可以设置为null
serializer.startTag(null, "persons");//写根元素<persons>
for(Person person:ls)
{
serializer.startTag(null, "person");//写<person id="23">
serializer.attribute(null, "id", person.getId()+"");
serializer.startTag(null, "name");
serializer.text(person.getName());
serializer.endTag(null, "name");
serializer.startTag(null, "age");
serializer.text(person.getAge()+"");
serializer.endTag(null, "age");
serializer.endTag(null, "person");
}
serializer.endTag(null,"persons");
serializer.endDocument();
} catch (Exception e) {
e.printStackTrace();
}
return writer.toString();
}
}
下面这个是单元测试方法:
注意下面的几个函数在我前面解析xml函数中可以找到为了偷懒就直接拿过来用了:
//写xml文档
public void testWriteXml()
{
//先加载数据
DOMParsseService service = new DOMParsseService();
InputStream inStream = getClass().getClassLoader().getResourceAsStream("person.xml");
List<Person> persons = service.readXMLDOM(inStream);
/////////
// File writer=new File(Environment.getExternalStorageDirectory(),"writeperson.xml");
//FileOutputStream outputStream;
try {
FileOutputStream outputStream=getContext().openFileOutput("writeperson.xml",Context.MODE_PRIVATE);
//outputStream = new FileOutputStream(writer);
OutputStreamWriter outputStreamWriter=new OutputStreamWriter(outputStream);
BufferedWriter bufferedWriter=new BufferedWriter(outputStreamWriter);
WriteXMLService xmlService=new WriteXMLService();
xmlService.WriteXml(persons, bufferedWriter);
bufferedWriter.flush();
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
发表评论
-
App开发一些总结
2016-04-05 17:48 2598架构因人而异,不同的架构师大多会有不同的看法;架构也因项目 ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4930最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
android 操作文件
2012-08-30 11:15 1049package com.liyong; import jav ... -
android获取短信内容
2012-08-29 23:10 1555自己研究: package com.liyong.data; ... -
Android中的日历操作
2012-08-29 13:01 3019日历的操作方法,这里主要用到了ContentProiver的知 ... -
android获取CMNET、WIFI、CMWAP联网状态
2012-08-29 12:40 5865private static final int CMNET= ... -
android实现手势缩放、移动图片
2012-08-28 19:37 9283新建一个触摸监听器类 package com.liyong. ... -
怎样把信息绘制到图片中并且保存到本地硬盘上
2012-08-27 12:53 1372自己研究吧。。。 //解释一下由于我们不是绘制到手机屏幕上所 ... -
关于ListView中notifyDataSetChanged()刷新数据不更新原因
2012-08-26 21:41 50327使用Listview的时候: 当要动态显示更改后的数据(例如数 ... -
android中获取联系人相关信息
2012-08-26 18:42 1683自己看........... public static ... -
修改Android中strings.xml文件, 动态改变数据
2012-08-24 18:25 10849有些朋友可能会动态的修改Android中strings.xml ... -
android内存泄漏
2012-07-25 21:04 1710尽量不要使用setImageBitmap或setImageRe ... -
将程序安装到SD卡
2012-04-28 22:11 883Android 2.2系统的一大改进就是通过Move to S ... -
一个很好的加密解密字符串
2012-04-28 22:11 1137package net.sf.andhsli.hotspotl ... -
获取手机位置
2012-04-28 22:11 1009private double[] getGPS() { Lo ... -
获取手机位置
2012-05-04 09:39 1100private double[] getGPS() { Lo ... -
查看内存存储
2012-05-03 10:05 1092import java.io.File; import a ... -
获取本机电话号码
2012-05-03 10:04 1115private String getMyPhoneNumber ... -
发送彩信
2012-05-03 10:04 1009Uri uri = Uri.parse(\"cont ...
相关推荐
以下是一个使用Pull解析器生成XML文件的例子: ```java try { File xmlFile = new File("myljq.xml"); FileOutputStream outStream = new FileOutputStream(xmlFile); OutputStreamWriter outStreamWriter = new...
总结,Android的Pull解析器提供了一种高效、轻量级的方式处理XML文档,无论是解析还是生成,都具有较高的灵活性和性能优势。在实际开发中,可以根据具体需求选择合适的解析策略,以优化应用的性能和资源使用。
XML Pull解析器是基于事件驱动的解析方式,它会触发一系列事件(如开始标签、结束标签、文本数据等),开发者可以注册监听这些事件,从而实现对XML文档的解析。这种方式既节省内存又提高效率,特别适合处理大型XML...
PULL解析器同样逐行读取XML,但开发者需要主动调用next方法前进到下一个事件。这种方式易于理解和实现,适合简单的XML结构。在解析天气预报XML时,我们首先需要创建PullParser对象,然后通过nextTag()方法遍历XML,...
本文将深入探讨如何使用Pull解析器来解析和生成XML文件,特别关注Android环境下的应用。 ### Pull解析器概述 Pull解析器是一种事件驱动型的XML解析器,它允许开发者通过一系列的事件来读取和解析XML文档。与SAX...
三、创建XML Pull解析器 首先,我们需要实例化`XmlPullParserFactory`,然后通过工厂方法获取`XmlPullParser`实例: ```java XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory....
我们将讲解如何使用Pull解析器读取本地XML文件,并生成一个新的、格式不同的XML文件。 Pull解析是一种事件驱动的解析方法,它不像DOM解析那样将整个XML文档加载到内存中,而是按需逐个处理XML元素。这种方法节省了...
Pull解析器是Android提供的一个API,它允许应用程序通过事件驱动的方式解析XML文档。与SAX解析器类似,Pull解析器不需要预先加载整个XML文档到内存,而是逐个处理XML元素,从而减少了内存消耗,特别适合于处理大型...
通过Pull解析器生成XML,开发者可以精确地控制XML的结构和内容,提高代码的灵活性和效率。在处理大体积XML时,Pull解析器比DOM更高效,因为它不会一次性加载整个XML到内存中,而是按需解析,降低了内存消耗。
标题中的“pull解析器通用解析XML与生成XML”是指一种基于Pull解析模型处理XML文档的技术。在Android系统中,XML Pull解析器是一个轻量级、高效的解析XML文档的工具,它不需要DOM(Document Object Model)或者SAX...
本文将深入探讨如何在Android中生成XML文件以及如何使用PULL解析器来解析XML数据。 首先,我们来看一下如何在Android中生成XML文件。生成XML文件通常涉及创建一个XMLWriter对象,然后通过调用其方法来添加元素、...
Android系统提供了一种轻量级的XML解析方式——PULL解析器(Pull Parser),它适用于处理大型XML文档,因为它不需要像DOM解析器那样一次性加载整个XML文档到内存中。PULL解析器通过事件驱动的方式,按需解析XML文档...
Pull解析器是一种事件驱动的解析模型,它不像SAX解析器那样需要开发者提供回调方法,而是由解析器自身推动解析过程,开发者通过调用一系列的“pull”方法来获取XML文档中的元素和属性信息。这种模式使得代码更简洁,...
本教程将详细介绍如何在Android中利用Pull解析器(PullParser)来读取XML文件,这是一种高效且内存友好的方式。 首先,让我们了解什么是Pull解析器。Pull解析器是一种事件驱动的解析模型,它不创建整个XML文档树,...
Pull解析器(XMLPullParser)是Android SDK提供的一种轻量级、低内存占用的XML解析方式,它允许开发者顺序处理XML文档,而无需加载整个文档到内存。本案例将深入探讨如何使用Pull解析器读取和生成XML内容。 首先,...
本篇文章将深入探讨如何在Android中使用Pull解析器进行XML文件的解析和存取。 一、XML解析器简介 在Android中,有两种主要的XML解析方式:SAX(Simple API for XML)和DOM(Document Object Model)。SAX是事件驱动...
本文将深入探讨如何使用SAX、DOM和Pull解析器解析XML文件,以及如何生成XML文件。我们将同时展示Java和Kotlin两种语言的实现方法。 一、SAX解析XML文件 SAX(Simple API for XML)是一种事件驱动的解析器,它不会一...
在Android开发中,由于其轻量级和低内存占用,Pull解析器常常被用来解析XML文档,尤其是在处理大数据量时,相比DOM和SAX解析器更为高效。 Pull解析器是一种事件驱动的解析方式,它不会一次性加载整个XML文档到内存...
本篇文章将重点讨论如何在Android中使用Pull解析器(PullParser)来解析XML文件。Pull解析器是一种事件驱动的解析方式,它允许应用程序在解析过程中按需获取XML数据,而不是一次性加载整个文档到内存,这使得处理...
二、XML Pull解析器 在Android中,我们使用`org.xmlpull.v1.XmlPullParser`接口来实现XML Pull解析。这个接口提供了诸如`next()`、`getName()`、`getText()`等方法,帮助我们按需读取XML文档的各个部分。Android还...