android xml如何创建,android中创建XML

在android中创建XML文档只需要一个接口XMLSerializer,使用该接口中的方法就可以轻松的创建XML文档。在这个接口中定义了操作XML需要的各种方法。

1.setOutput():设置文件的写出地址

2.startDocument(String encoding,boolean standalong):向文件中写<?xml ?>头,并且指定编码方式和是否是standalong.

3.startTag(String ns,String name):设置开始标签

4.attribute( ):设置标签属性

5.text():写入文本信息

6.endTag():结束标签

7.endDocument():结束文本

下面是一个简单的demo,在sdcard中写入一个xml文件

package com.example.android_xmlserializer;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import org.xmlpull.v1.XmlSerializer;

import android.os.Bundle;

import android.os.Environment;

import android.app.Activity;

import android.util.Xml;

import android.view.Menu;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

String fileName="";

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))

{

fileName = Environment.getExternalStorageDirectory()

+ "/poem.xml";

}

else

{

fileName+="/poem.xml";

}

File f = new File(fileName);

try {

f.createNewFile();

} catch (Exception e) {

e.printStackTrace();

}

try {

FileOutputStream fos = new FileOutputStream(f);

XmlSerializer serializer = Xml.newSerializer();

//设置文件输出位置

serializer.setOutput(fos, "utf-8");

//开始xml声明,这个方法必须在setOutput()方法之后调用

serializer.startDocument(null, true);

//开始poem标签

serializer.startTag(null, "poem");

//设置lang属性,这里有一点需要注意,serializer始终代表上一个tag,所以不用声明多个serializer

serializer.attribute(null, "lang", "chinese");

serializer.startTag(null, "title");

//

serializer.text("静夜思");

serializer.endTag(null, "title");

serializer.startTag(null, "author");

serializer.text("李白");

serializer.endTag(null, "author");

serializer.startTag(null, "content");

serializer.text("床前明月光,疑是地上霜,举头望明月,低头思故乡");

serializer.endTag(null, "content");

serializer.endDocument();

serializer.flush();

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

既然是在sdcard上面操作,所以还要加上权限:

最后的成果:

ea8efb6c4a3577dfc14a4efa28ae6479.png