`

创建XML文件

xml 
阅读更多
生成的XML文件如下:
<?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:
记得添加sdcard权限!!
<?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>
分享到:
评论

相关推荐

    生成XML文件ABAP程序

    根据提供的ABAP程序片段,我们可以总结出以下关于生成XML文件的相关知识点: ### 1. ABAP中的IXML库介绍 ABAP(Advanced Business Application Programming)是SAP系统中广泛使用的一种编程语言。在处理XML数据时...

    根据XML模版自动生成

    本话题主要关注如何根据XML模板自动生成XML文件,这通常涉及到数据库操作、数据处理以及XML文件的构建过程。下面我们将深入探讨这个主题。 首先,XML模板是一个预定义的结构,它包含了所需生成XML文件的基本框架,...

    用ruby读excel文件生成xml文件

    标题 "用ruby读excel文件生成xml文件" 描述的是一项技术任务,即使用Ruby编程语言来处理Excel文件,并将其内容转换成XML格式。这在数据迁移、格式转换或与不支持Excel格式的应用程序进行数据交换时非常有用。Ruby库...

    C# 生成xml文件,编码为utf-8方法

    C# 生成 XML 文件,编码为 UTF-8 方法 C# 生成 XML 文件,编码为 UTF-8 方法是指在 C# 编程语言中,使用特定的方法和类来生成 XML 文件,并将其编码为 UTF-8 编码格式的过程。这种方法常用于数据交换、配置文件、...

    自动生成XML文件列表工具

    这个“自动生成XML文件列表工具”就是针对特定需求设计的,它能够快速地将指定目录下的所有文件信息整理并生成一个XML文件。这样的工具在软件更新、版本控制、数据备份等场景中十分有用,因为它提供了标准格式化的...

    使用c++生成xml文件

    本篇文章将详细介绍如何使用C++生成XML文件,主要参考的代码示例来自压缩包中的`generate_xml.cpp`。 首先,我们引入一个常用的C++ XML库——TinyXML。TinyXML是一个轻量级的库,它提供了解析和操作XML文件的功能。...

    java_动态生成XML文件

    在Java编程语言中,动态生成XML文件是一种常见的需求,特别是在处理数据交换、配置文件或与Web服务交互时。本文将详细解析如何使用JDOM库在Java中动态创建XML文档,通过分析给定代码示例来深入理解其核心知识点。 #...

    mysql数据库自动生成xml文件

    MySQL数据库自动生成XML文件是一项实用的技术,它可以帮助开发者快速地将数据库中的数据转换为XML格式,便于数据交换、存储或进一步处理。这项技术通常结合代码生成工具,如MyBatis的Generator,能够自动化生成DAO...

    动态生成XML文件

    标题中的“动态生成XML文件”指的是在程序运行过程中,根据特定的数据或逻辑生成XML文档的过程。这通常用于数据交换、配置文件存储或者报告生成等场景。在这个案例中,描述指出生成XML是基于数据库中表的结构,这...

    java中生成xml文件,并上传至ftp服务器

    JAVA中生成xml文件到指定路径和上传到ftp服务器到指定路径的方法。

    .net根据数据库创建xml文件

    在.NET框架中,根据数据库创建XML文件是一项常见的任务,它涉及到数据的提取、转换和序列化。这个过程通常用于将数据库中的结构化数据保存为XML格式,以便于数据交换、备份或供其他应用程序使用。以下将详细介绍如何...

    根据xml schema生成xml

    这篇博客文章“根据XML Schema生成XML”探讨了如何使用XML Schema来创建符合规范的XML文档。 首先,理解XML Schema的基本元素是关键。XML Schema定义了一系列的元素(element)、属性(attribute)和数据类型(data...

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    生成XML文件 并解析

    在"生成XML文件并解析"这个主题中,我们需要了解两个主要部分:XML文件的创建和XML文件的解析。 1. **生成XML文件**: - **XML结构**:XML文件由一系列元素(Element)组成,每个元素有开始标签、内容和结束标签,...

    java文件生成xml文档

    在Java编程中,生成XML文档是一项常见的任务,特别是在构建配置文件、数据交换或者保存结构化信息时。XML(eXtensible Markup Language)是一种标记语言,它的结构清晰、可读性强,非常适合用来存储和传输数据。...

    C#中创建XML文件

    ### C#中创建XML文件的知识点 在C#中创建XML文件是一项常见且实用的技能,尤其是在处理数据存储、配置文件或与其他系统进行数据交换时。以下是从给定的文件标题、描述、标签以及部分内容中提取的相关知识点: ####...

    VB.NET 代码实现创建XML文档

    在VB.NET 2005中,创建XML文档是一项常见的任务,这主要涉及到XML编程的知识。XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有良好的可读性和结构化特性,广泛应用于数据交换、配置文件...

    LABVIEW创建XML格式文件

    LABVIEW创建XML格式文件

    使用Pull解析器读取XML文件和生成XML文件

    总的来说,使用Pull解析器读取和生成XML文件是一种高效且灵活的方法,尤其适合处理大型XML文档。通过掌握这一技术,开发者可以更好地处理XML数据,提高程序的性能和稳定性。在进行XML操作时,还需注意数据的正确性和...

Global site tag (gtag.js) - Google Analytics