- 浏览: 205201 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xyyx_nk:
在demo中没有下载的示例,能详细说一下怎么监听下载过程吗?比 ...
DhNet 网络http工具(带缓存功能哦) -dhroid文档 -
zhaoguowei998:
dhroid ioc模块对 加密混淆问题 -
zhaoguowei998:
你太牛了,佩服佩服,以后要多想你请教了
dhroid ioc模块对 加密混淆问题 -
白色蜻蜓:
转载下您的文章,已注明出处。
IOS开发之百度地图API应用 -
wenjiefeng:
你好,在andrioidpn-client客户端源码里,Not ...
Android 推送之原理与初触Androidpn(Android Push Notification)
些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中;或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,这里推荐大家使用Pull解析器。
使用Pull解析器生成一个与itcast.xml文件内容相同的myitcast.xml文件,代码在本页下方备注
使用代码如下(生成XML文件): File xmlFile = new File("myitcast.xml");
FileOutputStream outStream = new FileOutputStream(xmlFile); OutputStreamWriter outStreamWriter = new OutputStreamWriter(outStream, "UTF-8"); BufferedWriter writer = new BufferedWriter(outStreamWriter); writeXML(persons, writer); writer.flush(); writer.close();
如果只想得到生成的xml字符串内容,可以使用StringWriter:
StringWriter writer = new StringWriter(); writeXML(persons, writer); String content = writer.toString(); */
//view plaincopy to clipboardprint? <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>zhangsan</name> <age>25</age> </person> <person id="20"> <name>lisi</name> <age>28</age> </person> </person
//view plaincopy to clipboardprint? package com.zyq.voo; public class Person { private Integer id; private String name; private Short age; public Person() { } public Person(Integer id, String name, Short age) { super(); this.id = id; this.name = name; this.age = age; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Short getAge() { return age; } public void setAge(Short age) { this.age = age; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
view plaincopy to clipboardprint? <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zyq.xml" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <uses-library android:name="android.test.runner" /> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.zyq.xml" android:label="Tests for My App" /> </manifest>
view plaincopy to clipboardprint? package com.zyq.xml; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import com.zyq.service.DOMPersonService; import com.zyq.service.PullBuildXMLService; import com.zyq.service.PullPersonService; import com.zyq.service.SAXPersonService; import com.zyq.voo.Person; import android.test.AndroidTestCase; import android.util.Log; public class PersonServiceTest extends AndroidTestCase { private static final String TAG="PersonServiceTest"; /** * 测试 SAX解析XML数据 * @throws Throwable */ public void testSAX() throws Throwable { SAXPersonService personService=new SAXPersonService(); InputStream inputStream=this.getClass().getClassLoader().getResourceAsStream("person.xml"); List<Person> persons=personService.getPersons(inputStream); for(Person person : persons) { Log.i(TAG, person.toString()); } } /** * 测试 DOM解析XML数据 * @throws Throwable */ public void testDOM() throws Throwable { DOMPersonService personService=new DOMPersonService(); InputStream inputStream=this.getClass().getClassLoader().getResourceAsStream("person.xml"); List<Person> persons=personService.getPersons(inputStream); for(Person person : persons) { Log.i(TAG, person.toString()); } } /** * 测试 PULL解析XML数据 * @throws Throwable */ public void testPull() throws Throwable { PullPersonService personService=new PullPersonService(); InputStream inputStream=this.getClass().getClassLoader().getResourceAsStream("person.xml"); List<Person> persons=personService.getPersons(inputStream); for(Person person : persons) { Log.i(TAG, person.toString()); } } public void testPullBuildXML() throws Throwable { List<Person> persons=new ArrayList<Person>(); persons.add(new Person(1001,"张三",(short)30)); persons.add(new Person(1002,"李四",(short)18)); persons.add(new Person(1003,"王二麻子",(short)21)); persons.add(new Person(1004,"朱大",(short)25)); persons.add(new Person(1005,"林一",(short)20)); File file=new File(this.getContext().getFilesDir(),"zyq.xml"); FileOutputStream outputStream=new FileOutputStream(file); PullBuildXMLService service=new PullBuildXMLService(); service.buildXML(persons, outputStream); } } view plaincopy to clipboardprint? package com.zyq.service; import java.io.OutputStream; import java.util.List; import org.xmlpull.v1.XmlSerializer; import android.util.Xml; import com.zyq.voo.Person; /** * 采用PULL 生成XML数据 * @author Administrator * */ public class PullBuildXMLService { /** * * @param persons * @param outputStream * @throws Exception */ 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, "persons"); for(Person person:persons) { serializer.startTag(null, "person"); serializer.attribute(null, "id", person.getId().toString()); 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(); outputStream.close(); } }
发表评论
-
Dhdb 简化sqlite数据库操作--dhroid文档
2014-04-15 12:30 1356android数据库其实使用的不多,dhroid框架中的 ... -
dhroid ioc模块对 加密混淆问题
2014-04-14 12:52 971大家应该已经看过ioc ... -
NetJSONAdapter 网络化的adapter(高效) -dhroid文档
2014-04-04 12:15 897关于adapter 我想对于大家来说已经不陌生了,基本应用 ... -
DhNet 网络http工具(带缓存功能哦) -dhroid文档
2014-03-24 13:36 1489网络请求是大多数应用不可获取的一部分,曾经和一个其他公司的 ... -
eventbus 事件总线-dhroid文档
2014-03-23 11:47 1265你听过onClick 事件,onItemClick 事件, ... -
ioc基础(视图,资源,assert注入)-dhroid文档
2014-03-21 12:59 866上一节 Android 极速开发框架 dhroid来了 ... -
ioc高级(接口,对象注入)-dhroid文档
2014-03-21 13:04 1138前一章 ioc基础( ... -
IOC容器详解(想晋升的进来)---dhroid框架教教程(一)
2014-03-20 10:30 980控制反转(Inversion of Control,英文缩写 ... -
Android 极速开发框架 dhroid来了(提供demo)
2014-03-19 17:24 1381我们公司内部使用的商业级android开发框架dhr ... -
HttpClient的3种超时说明
2013-03-14 11:05 888/* 从连接池中取连接的超时时间 */ConnManag ... -
MeasureSpec介绍及使用详解
2013-01-24 21:21 754一个MeasureSpec封装了父 ... -
Android学习——TextView 设置中划线 下划线
2012-10-31 14:42 3462android:textAppearance ... -
ListView与其中的Button,EditText,RatingBar等widget的click事件
2012-10-26 14:48 867在<RelativeLayout>中 an ... -
在线词典API
2012-09-09 19:34 740QQ词典 http://dict.qq.com/dic ... -
android Uri获取真实路径转换成File的方法
2012-08-23 12:40 3066data.getData()返回的 ... -
Java之WeakReference与SoftReference使用讲解
2012-08-22 09:46 692如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集 ... -
Android自定义捕获Application全局异常
2012-08-21 17:24 1203package qianlong.qlmobile ... -
android 缩放图片与内存溢出
2012-08-03 09:43 1218常用的Android版缩放图片代码: ContentRes ... -
获取手机设备方向
2012-08-03 09:33 1464@Override public void onS ... -
activity四种启动模式
2012-08-03 09:30 808Activity 有四种加载模式 [1] standa ...
相关推荐
本篇文章将深入探讨如何在Android中使用Pull解析器生成XML数据。 Pull解析器是一种轻量级的解析方式,相比DOM(Document Object Model)和SAX(Simple API for XML),它更节省内存且效率更高。Pull解析器遵循事件...
总的来说,这个“android使用pull生成xml”的项目可能包含了一个示例应用,演示了如何利用XMLPullParser来解析已有的XML数据,并根据解析结果动态生成新的XML。这在处理动态数据,如用户输入或服务器返回的数据时...
"Android利用Pull生成XML文件"这一主题涉及到的是如何使用Android的Pull解析器来读取和生成XML内容。Pull解析器是一种轻量级、低级别的解析机制,与DOM(文档对象模型)和SAX(简单API for XML)解析器相比,它更...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于Android开发中,用于存储配置、布局等信息。在Android系统中,XML Pull解析是一种...在实际开发中,熟练掌握这一技术对于处理XML数据至关重要。
本文将深入探讨如何在Android中生成XML文件以及如何使用PULL解析器来解析XML数据。 首先,我们来看一下如何在Android中生成XML文件。生成XML文件通常涉及创建一个XMLWriter对象,然后通过调用其方法来添加元素、...
首先,我们引入Android的`org.xmlpull.v1.XmlPullParser`接口,它是实现Pull解析的核心。这个接口定义了一系列的方法,如`next()`用于移动到下一个事件,`getName()`用于获取当前事件的标签名,以及`getText()`用于...
在Android平台上,XML数据解析是常见的任务,用于...总之,Android的XML Pull解析器是一个轻量级且高效的工具,适用于处理XML数据。通过理解其基本原理和操作方法,开发者可以有效地在Android应用中解析和处理XML文档。
总结,Android中的Pull解析器是处理XML数据的有效工具,它适合读取大文件且内存效率高。而通过`XmlSerializer`,我们可以方便地生成XML内容。在实际项目中,结合这两种技术,开发者可以轻松地进行XML数据的读取和...
在Android开发中,由于其轻量级和高效的特点,Pull解析器成为了处理XML数据的一种常见方法。本篇文章将深入探讨如何在Android环境中使用内置的Pull解析器来解析和生成XML内容。 首先,我们需要理解什么是Pull解析器...
在Android开发中,处理XML数据是一项常见的任务,无论是从服务器获取数据还是本地资源文件,XML因其结构化的特点被广泛使用。本教程将详细介绍如何在Android中利用Pull解析器(PullParser)来读取XML文件,这是一种...
无论选择哪种方式,理解其工作原理和使用方法都是至关重要的,这将有助于高效地处理XML数据。通过阅读指定的博客文章(http://www.cnblogs.com/tianzhijiexian/p/4020250.html),你可以找到更多关于如何结合使用SAX...
本文将深入探讨如何使用SAX、DOM和Pull解析器解析XML文件,以及如何生成XML文件。我们将同时展示Java和Kotlin两种语言的实现方法。 一、SAX解析XML文件 SAX(Simple API for XML)是一种事件驱动的解析器,它不会一...
本篇将深入探讨Android下Pull解析器的使用,以及如何利用它来解析和生成XML文件。 一、Android Pull解析器简介 Pull解析器是基于事件驱动的解析模型,它不保留整个XML文档的内存映像,而是按需读取和处理XML元素。...
"Pull解析xml Android"这个主题聚焦于Android平台下使用Pull解析器处理XML数据的方法。 Pull解析(XMLPullParser)是Android提供的一种轻量级、低内存消耗的XML解析方式。它不同于DOM解析器(将整个XML文档加载到...
PullXML解析器是Android系统提供的一种轻量级的XML解析方法,它适用于处理大量的XML数据,特别是当内存有限或需要高效处理流式数据时。本文将深入探讨如何使用PullXML解析本地XML数据,并将解析后的数据存回本地。 ...
在Android开发中,XML是一种常见的数据格式,用于存储和传输数据。...理解并熟练掌握XML PULL解析器对于Android开发者来说是非常重要的,因为它可以帮助你在资源有限的移动设备上有效地处理XML数据。
本文介绍了 Android 中使用多种解析和生成 XML 文件的方法,包括 SAX、DOM 和 Pull 解析器,以及 XmlSerializer 序列化器。这些方法可以帮助开发者更好地处理 XML 文件,并且提高应用程序的性能。
本文将深入探讨在Android中如何解析XML数据,包括DOM、SAX和Pull解析器三种方法。 首先,DOM(Document Object Model)解析器将整个XML文档加载到内存中,形成一个树形结构,然后可以遍历这个结构来访问和修改XML...
标题中的“pull解析器通用解析XML与生成XML”是指一种基于Pull解析模型处理XML文档的技术。在Android系统中,XML Pull解析器是一个轻量级、高效的解析XML文档的工具,它不需要DOM(Document Object Model)或者SAX...
本文将详细探讨"PullXML"和"Json读写解析",并结合提供的压缩包文件名,主要关注Android平台上的实现。 XML(eXtensible Markup Language)是一种标记语言,用于描述数据结构和内容。它具有严格的语法规则,允许...