生成的XML文件如下:
CreateXmlActivity:
AndroidManifest.xml:
[color=red]记得添加sdcard权限!![/color]
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<boxs>
<users>
<user_name>小白杨0</user_name>
<user_number>010-888-0</user_number>
<address>北京-海淀区-铸成大厦-0</address>
</users>
<users>
<user_name>小白杨1</user_name>
<user_number>010-888-1</user_number>
<address>北京-海淀区-铸成大厦-1</address>
</users>
<users>
<user_name>小白杨2</user_name>
<user_number>010-888-2</user_number>
<address>北京-海淀区-铸成大厦-2</address>
</users>
<users>
<user_name>小白杨3</user_name>
<user_number>010-888-3</user_number>
<address>北京-海淀区-铸成大厦-3</address>
</users>
<users>
<user_name>小白杨4</user_name>
<user_number>010-888-4</user_number>
<address>北京-海淀区-铸成大厦-4</address>
</users>
<users>
<user_name>小白杨5</user_name>
<user_number>010-888-5</user_number>
<address>北京-海淀区-铸成大厦-5</address>
</users>
<users>
<user_name>小白杨6</user_name>
<user_number>010-888-6</user_number>
<address>北京-海淀区-铸成大厦-6</address>
</users>
<users>
<user_name>小白杨7</user_name>
<user_number>010-888-7</user_number>
<address>北京-海淀区-铸成大厦-7</address>
</users>
<users>
<user_name>小白杨8</user_name>
<user_number>010-888-8</user_number>
<address>北京-海淀区-铸成大厦-8</address>
</users>
<users>
<user_name>小白杨9</user_name>
<user_number>010-888-9</user_number>
<address>北京-海淀区-铸成大厦-9</address>
</users>
</boxs>
CreateXmlActivity:
package com.amaker.xml;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.xmlpull.v1.XmlSerializer;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.util.Xml;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class CreateXmlActivity extends Activity {
private static final String Task_PATH = "/sdcard/Boxs.xml";
private TextView tv;
private Button btn;
private List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
btn = (Button) findViewById(R.id.button1);
add();
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
createXML();
}
});
}
/**
* 模拟手机抄表数据(添加十块表的数据)
* 每块表添加三个属性(户主:user_name,用户编号:user_number,地址:address)
*/
public void add(){
for(int i=0;i<10;i++){
HashMap<String, String> map = new HashMap<String, String>();
map.put("user_name", "小白杨"+i);
map.put("user_number", "010-888-"+i);
map.put("address", "北京-海淀区-铸成大厦-"+i);
list.add(map);
}
}
public void createXML() {
File linceseFile = new File(Task_PATH);
try {
linceseFile.createNewFile();
} catch (IOException e) {
Log.e("IOException", "exception in createNewFile() method");
}
FileOutputStream fileos = null;
try {
fileos = new FileOutputStream(linceseFile);
} catch (FileNotFoundException e) {
Log.e("FileNotFoundException", "can't create FileOutputStream");
}
XmlSerializer serializer = Xml.newSerializer();
try {
serializer.setOutput(fileos, "UTF-8");
serializer.startDocument(null, true);
serializer.startTag(null, "boxs");
for (int i = 0; i < list.size(); i++) {
serializer.startTag(null, "users");
serializer.startTag(null, "user_name");
serializer.text(list.get(i).get("user_name"));
serializer.endTag(null, "user_name");
serializer.startTag(null, "user_number");
serializer.text(list.get(i).get("user_number"));
serializer.endTag(null, "user_number");
serializer.startTag(null, "address");
serializer.text(list.get(i).get("address"));
serializer.endTag(null, "address");
serializer.endTag(null, "users");
}
serializer.endTag(null, "boxs");
serializer.endDocument();
serializer.flush();
fileos.close();
} catch (Exception e) {
Log.e("Exception", "error occurred while creating xml file");
}
Toast.makeText(getApplicationContext(), "创建xml文件成功!",
Toast.LENGTH_SHORT).show();
}
}
AndroidManifest.xml:
[color=red]记得添加sdcard权限!![/color]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amaker.xml"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".CreateXmlActivity"
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-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>