- 浏览: 286794 次
- 性别:
- 来自: 荷兰
文章分类
最新评论
-
ice.k:
才发现,谢谢。
使用CXF框架提供Rest接口的一些设置 -
kucoll:
@Produces 是控制响应的content-type,如果 ...
使用CXF框架提供Rest接口的一些设置 -
SE_XiaoFeng:
写的好.讲出了原因,和解决办法,这才是锦囊妙计.
Android 中的ANR 问题,响应灵敏性 -
zhujinyuan:
怎么没有代码的额。
10个经典的Android开源项目 -
liuxuejin:
我回去试试好
ubuntu安装Mac OS X主题
/*
有些时候,我们需要生成一个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();
}
}
有些时候,我们需要生成一个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();
}
}
发表评论
-
DLNA」的介紹與應用
2012-07-18 11:19 2226還記得先前我們曾經介紹過的《多功能搖控器的應用》嗎?它是 ... -
10个经典的Android开源项目
2012-03-29 11:20 1527http://www.eoeandroid.com ... -
ubuntu下设置Android手机驱动
2012-02-20 12:12 4619原文:http://blog.csdn.net/flow ... -
通过网络使用ADB ( Connect to android with ADB over TCP )
2011-11-08 12:59 24421来自:http://lesca.me/blog/2011 ... -
Ubuntu 11.04 64位 编译 Android 2.3 源码
2011-09-17 17:41 4511首先,我建立了JNI的编译开发环境。 用VM安装Ubun ... -
浅谈Android系统的图标设计规范
2011-07-15 10:11 1990目前移动平台的竞争日益激烈,友好的用户界面可以帮助提高用户 ... -
DownloadProvider
2011-06-15 20:17 1069DownloadProvider -
android下载编译以及文件系统提取总结
2011-06-14 20:44 1631原文地址:http://bbs.android ... -
应用程序签名
2011-05-25 16:48 1036这篇文章将阐述在应用 ... -
OPhone平台aidl文件不一致导致的问题及解决
2011-05-25 13:05 1198http://www.ophonesdn.com/articl ... -
Android 利用隐藏API实现屏幕亮度调节
2011-05-14 21:02 3603Android 实现屏幕亮度调节 脚盆原创,转载请注明出处。 ... -
获取Android设备的唯一识别码|设备号|序号|UUID
2011-05-05 10:25 4152如何获取一个能唯一标识每台Android设备的序号? 这个问 ... -
Android调用WebService
2011-05-04 17:12 3392下面例子改自网上例子:http://express.ruank ... -
Android 应用程序之间数据共享—ContentResolver
2011-04-27 22:29 1139Android是如何实现应用程 ... -
Android平台上四种保存数据的方法
2011-04-27 21:50 908对于我们所熟悉的大部分软件都有一个比较典型的特点,应用现有的数 ... -
Android中的网络时间同步
2011-04-27 14:20 2187http://blog.csdn.net/absurd/arc ... -
Android IntentService 深入分析
2011-04-26 22:27 1495Android IntentService 什么是Intent ... -
关于Activity的onSaveInstanceState调用时机的说明
2011-04-26 22:01 3512Activity的生命周期里并没有提到onSaveInstan ... -
Android中的长度单位详解(dp、sp、px、in、pt、mm)
2011-04-25 17:10 1336看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下 ... -
获取CPU序列号
2011-04-13 17:07 4708/** * 获取CPU序列号 * * @return ...
相关推荐
总的来说,这个“android使用pull生成xml”的项目可能包含了一个示例应用,演示了如何利用XMLPullParser来解析已有的XML数据,并根据解析结果动态生成新的XML。这在处理动态数据,如用户输入或服务器返回的数据时...
"Android利用Pull生成XML文件"这一主题涉及到的是如何使用Android的Pull解析器来读取和生成XML内容。Pull解析器是一种轻量级、低级别的解析机制,与DOM(文档对象模型)和SAX(简单API for XML)解析器相比,它更...
在Android开发中,XML...通过创建Pull解析器实例,监听XML事件,以及适当优化,开发者可以轻松处理XML数据,实现更流畅的用户体验。在实际开发中,结合具体的业务场景灵活运用,能够大大提高应用程序的性能和稳定性。
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于Android开发中,用于存储配置、布局等信息。在Android系统中,XML Pull解析是一种...在实际开发中,熟练掌握这一技术对于处理XML数据至关重要。
本文将深入探讨如何在Android中使用两种常见的XML解析技术——SAX(Simple API for XML)和PULL(Pull Parser)来解析天气预报的XML数据。这两种方法各有优缺点,适用于不同的场景。 首先,我们来看SAX解析器。SAX...
在Android平台上,XML数据解析是常见的任务,用于...总之,Android的XML Pull解析器是一个轻量级且高效的工具,适用于处理XML数据。通过理解其基本原理和操作方法,开发者可以有效地在Android应用中解析和处理XML文档。
在Android开发中,XML文件常用于...PULL解析提供了高效且内存友好的方式处理XML数据,而ButterKnife则简化了UI组件的管理,两者结合能有效提升开发效率。通过实践这些技术,开发者可以更好地构建和维护Android应用。
在Android开发中,处理XML数据是一项常见的任务,无论是从服务器获取数据还是本地资源,XML都是一个常用的数据交换格式。本文将深入探讨两种主要的XML解析技术:SAX(Simple API for XML)和PULL(Pull Parser)。这...
在Android开发中,XML是一种常见的数据格式,用于存储和...这样,即使面对大量的XML数据,也能保持良好的性能和稳定性。在Android项目中,封装好XML Pull解析器后,调用起来将变得更加简单便捷,极大地提高了开发效率。
本文将深入探讨如何在Android中生成XML文件以及如何使用PULL解析器来解析XML数据。 首先,我们来看一下如何在Android中生成XML文件。生成XML文件通常涉及创建一个XMLWriter对象,然后通过调用其方法来添加元素、...
在本主题"Android之PULL解析XML文件——新浪微博客户端首页效果"中,我们将深入探讨如何利用PULL解析器(PullParser)来处理XML数据,从而实现类似新浪微博客户端首页的动态效果。这种效果通常包括新闻标题、摘要、...
"Android之PULL解析XML"是Android平台中处理XML数据的一种高效方式,它与SAX(Simple API for XML)类似,但更适合Android环境。PULL解析器在内存使用和性能方面进行了优化,适合于资源有限的移动设备。 PULL解析器...
本项目主要关注的是XML的创建和使用Pull解析器来解析XML,这是Android系统中处理XML数据的一种高效方法。接下来,我们将详细讨论这两个知识点。 首先,XML(Extensible Markup Language)是一种用于标记数据的语言...
在Android开发中,处理XML数据是一项常见的任务,无论是从服务器获取数据还是本地资源文件,XML因其结构化的特点被广泛使用。本教程将详细介绍如何在Android中利用Pull解析器(PullParser)来读取XML文件,这是一种...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于Android开发中,用于存储和传输数据。本文将深入探讨Android中的Pull解析...对于需要处理XML数据的Android应用,这是一个非常实用的解决方案。
总结,Android中的Pull解析器是一种高效且节省内存的XML解析方案,尤其适合处理大型XML数据。通过合理的事件处理和数据存取策略,可以有效地在Android应用中解析和管理XML文件。在实际开发中,应根据项目需求选择...
在Android开发中,XML...总的来说,Android中的Pull解析器提供了一种灵活且高效的XML解析方式,适用于处理大量的XML数据。在实际开发中,结合具体的业务场景,合理运用Pull解析器,可以显著提升应用的性能和用户体验。
三、创建XML Pull解析器 首先,我们需要实例化`XmlPullParserFactory`,然后通过工厂方法获取`XmlPullParser`实例: ```java XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory....
"Pull解析xml Android"这个主题聚焦于Android平台下使用Pull解析器处理XML数据的方法。 Pull解析(XMLPullParser)是Android提供的一种轻量级、低内存消耗的XML解析方式。它不同于DOM解析器(将整个XML文档加载到...