- 浏览: 281399 次
- 性别:
- 来自: 荷兰
文章分类
最新评论
-
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 2122還記得先前我們曾經介紹過的《多功能搖控器的應用》嗎?它是 ... -
10个经典的Android开源项目
2012-03-29 11:20 1443http://www.eoeandroid.com ... -
ubuntu下设置Android手机驱动
2012-02-20 12:12 4543原文:http://blog.csdn.net/flow ... -
通过网络使用ADB ( Connect to android with ADB over TCP )
2011-11-08 12:59 24369来自:http://lesca.me/blog/2011 ... -
Ubuntu 11.04 64位 编译 Android 2.3 源码
2011-09-17 17:41 4449首先,我建立了JNI的编译开发环境。 用VM安装Ubun ... -
浅谈Android系统的图标设计规范
2011-07-15 10:11 1928目前移动平台的竞争日益激烈,友好的用户界面可以帮助提高用户 ... -
DownloadProvider
2011-06-15 20:17 1026DownloadProvider -
android下载编译以及文件系统提取总结
2011-06-14 20:44 1590原文地址:http://bbs.android ... -
应用程序签名
2011-05-25 16:48 996这篇文章将阐述在应用 ... -
OPhone平台aidl文件不一致导致的问题及解决
2011-05-25 13:05 1162http://www.ophonesdn.com/articl ... -
Android 利用隐藏API实现屏幕亮度调节
2011-05-14 21:02 3566Android 实现屏幕亮度调节 脚盆原创,转载请注明出处。 ... -
获取Android设备的唯一识别码|设备号|序号|UUID
2011-05-05 10:25 4094如何获取一个能唯一标识每台Android设备的序号? 这个问 ... -
Android调用WebService
2011-05-04 17:12 3358下面例子改自网上例子:http://express.ruank ... -
Android 应用程序之间数据共享—ContentResolver
2011-04-27 22:29 1094Android是如何实现应用程 ... -
Android平台上四种保存数据的方法
2011-04-27 21:50 877对于我们所熟悉的大部分软件都有一个比较典型的特点,应用现有的数 ... -
Android中的网络时间同步
2011-04-27 14:20 2145http://blog.csdn.net/absurd/arc ... -
Android IntentService 深入分析
2011-04-26 22:27 1449Android IntentService 什么是Intent ... -
关于Activity的onSaveInstanceState调用时机的说明
2011-04-26 22:01 3467Activity的生命周期里并没有提到onSaveInstan ... -
Android中的长度单位详解(dp、sp、px、in、pt、mm)
2011-04-25 17:10 1273看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下 ... -
获取CPU序列号
2011-04-13 17:07 4617/** * 获取CPU序列号 * * @return ...
相关推荐
Android利用pull生成xml文件
好几天没上传资源了,这android是生成xml的一个项目。希望对大家有用。
这是一个完整的eclipse项目,直接打开就可以看到整个项目完整的代码,而且有单元测试代码
Android 生成和PULL解析xml,生成的例子和PULL解析的例子,很详细。。
Android中采用Pull解析器读取和生成xml内容案例...
pull解析和生成xml文件,使用pull解析本地的xml文件,并且生成了一个不同格式的新的xml文件
支持SAX解析XML文件,DOM解析XML文件,Pull解析器解析XML文件,Pull生成XML文件,JAVA和Kotlin两种语言编写
利用android中自带的pull解析器解析和生成xml片段。
一个eclipse工程包含如何使用android中自带的xml解析器pull,解析和生成xml文件
Android 创建与解析XML Pull方式 博客原文:http://blog.csdn.net/sunboy_2050/article/details/7521601
android xml 解析 生成xml sax pull dom
Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 XmlSerializer,还提供了用来解析XML的Pull方式解析器 XmlPullParser XmlSerializer没有像XmlPullParser那样提取XML事件,而是...
android pull解析 创建xmlw文件,完整工程项目,可直接运行
android的xml操作,pull解析和xml的生成
Android 官方的pull解析XmlDemo 1. 选择解析器 Choose a Parser 官方推荐XmlPullParser,其在android中对XML的解析是高效且可维护的。android已经拥有该接口的两个实现: KXmlParser,通过XmlPullParserFactory....
android应用,采用Pull解析器解析和生成XML内容
Android中使用xml的操作,根据集合创建xml文件使用Pull的方式创建xml文件
@Introduction:使用PULL方法进行XML解析 XML文件存放在SDcard根目录下;android1.6版本之前是在/sdcard/,之后是在/mnt/sdcard/ 当前测试用来运行的版本是android。4.2.2 最小支持的版本是android.2.2.0 文件...
本文实例讲述了Android中常用的XML生成方法。分享给大家供大家参考。具体如下: 1. java代码: .../**采用pull 生成xml文件 * * @author antkingwei * */ public class PullBuildXMLService { public void