在AndroidManifest.xml中配置权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.li.xmlpull"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MyXMLPullDemo"
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>
</manifest>
在MyXMLPullDemo.java程序中
package org.lxh.demo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
public class MyXMLPullDemo extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
if (!Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) { // 不存在不操作
return; // 返回到程序的被调用处
}
File file = new File(Environment.getExternalStorageDirectory()
+ File.separator + "liyewen" + File.separator
+ "test.xml"); // 要输出文件的路径
if (!file.getParentFile().exists()) { // 文件不存在
file.getParentFile().mkdirs() ; // 创建文件夹
}
List<LinkMan> all = new ArrayList<LinkMan>() ;
for (int x = 0; x < 3; x++) {
LinkMan man = new LinkMan() ;
man.setName("贾宝玉 - " + x ) ;
man.setEmail("jiabaoyu@163.com") ;
all.add(man) ;
}
OutputStream output = null ;
try {
output = new FileOutputStream(file) ;
new MyXMLPullUtil(output,all).save() ;
} catch (Exception e) {
}finally{
if (output != null) {
try {
output.close() ;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
在MyXMLPullUtil.java中:
package org.lxh.demo;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;
import org.xmlpull.v1.XmlPullParserFactory;
import org.xmlpull.v1.XmlSerializer;
public class MyXMLPullUtil {
private List<LinkMan> all = null;
private OutputStream output = null;
public MyXMLPullUtil(OutputStream output,List<LinkMan> all) {
this.output = output;
this.all = all;
}
public void save() throws Exception {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlSerializer xs = factory.newSerializer();
xs.setOutput(this.output,"UTF-8");
xs.startDocument("UTF-8",true);
xs.startTag(null,"addresslist");// 根元素
Iterator<LinkMan> iter = this.all.iterator();
while (iter.hasNext()) {
LinkMan man = iter.next();
xs.startTag(null,"linkman");
xs.startTag(null,"name");
xs.text(man.getName());
xs.endTag(null,"name");
xs.startTag(null,"email");
xs.text(man.getEmail());
xs.endTag(null,"email");
xs.endTag(null,"linkman");
}
xs.endTag(null,"addresslist");
xs.endDocument();
xs.flush();
}
}
在LinkMan.java中:
package org.lxh.demo;
public class LinkMan {
private String name;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。