Android初学笔记——xml文件的读写

利用XmlSerializer和XmlPullParser对xml文件进行读写操作

下面是XmlSerializer在手机内存中写入xml文件的内容:

public void writeXML(){
        File file =new File(this.getFilesDir(), "test.xml");
        XmlSerializer s=Xml.newSerializer();
        try {
            FileOutputStream fos = new FileOutputStream(file);
            s.setOutput(fos, "utf-8");
            s.startDocument("utf-8", null);
            s.startTag(null, "persons");
            for(int i=0;i<10;i++){
                s.startTag(null, "p");
                s.startTag(null, "name");
                s.text("啊"+String.valueOf(i));
                s.endTag(null, "name");
                s.startTag(null, "age");
                s.text(String.valueOf(10+i));
                s.endTag(null, "age");
                s.endTag(null, "p");
            }
            s.endTag(null, "persons");
            s.endDocument();
            fos.flush();
            fos.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

下面是XmlPullParser在手机内存中读取xml文件的内容:

public List<Person> readXML(){
        list = null;
        Person p=null;
        File file =new File(this.getFilesDir(), "test.xml");
        XmlPullParser parser=Xml.newPullParser();
        try {
            FileInputStream fis=new FileInputStream(file);
            parser.setInput(fis, "utf-8");
            int eventType=parser.getEventType();

            while(eventType!=XmlPullParser.END_DOCUMENT){
                String tagName=parser.getName();
                switch (eventType) {
                case XmlPullParser.START_TAG:
                    if("persons".equals(tagName)){
                        list=new ArrayList<Person>();
                    }else if("p".equals(tagName)){
                        p=new Person();
                    }else if("name".equals(tagName)){
                        p.setName(parser.nextText());
                    }else if("age".equals(tagName)){
                        p.setAge(Integer.parseInt(parser.nextText()));
                    }
                    break;
                case XmlPullParser.END_TAG:
                    if("p".equals(tagName)){
                        list.add(p);
                    }
                    break;
                default:
                    break;
                }
                eventType=parser.next();
            }
            fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;
    }
时间: 2024-10-18 09:05:52

Android初学笔记——xml文件的读写的相关文章

Android shape的xml文件

Android shape的xml文件可以写不同形状.背景.边框.圆角等等效果,可以代替不少. 9图片的使用,缩小资源文件的大小.下面看一下shape可以包含的内容有哪些. 1 <?xml version="1.0" encoding="utf-8"?> 2 <shape 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:shape=[&

解决Android中fragment_main.xml文件中的组件获取的问题

package com.dhy.phonedial; import android.app.Activity; import android.app.Fragment; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.Me

Qt对xml文件的读写

最近研究了一下qt下对xml文件的读写,小计一下,成为自己的知识. main函数调用: 1 #include <QApplication> 2 #include "readconfig.h" 3 #include "writeconfig.h" 4 5 int main(int argc,char **argv) 6 { 7 QApplication a(argc,argv); 8 9 //ReadConfig readConfig; 10 11 //r

Android中layout.xml文件中加载自定义的View类

<com.bn.summer.GGView3 android:layout_width="100dip" android:layout_height="114dip" android:layout_marginLeft="11dip" /> View类的实现: package com.bn.summer; import android.content.Context; import android.content.res.Resour

android 中生成xml文件

在Android中生成xml文件真的很简单,下面提供2中方法,一种是通过String写入到文件,另外一种是通过XML 的 XmlSerializer. 以后遇到Android写xml内容就不会困惑了 1.通过string写入文件 String name=mEtName.getText().toString(); String age=mEtAge.getText().toString(); String Id=mEtID.getText().toString(); File file=new F

修改Android中strings.xml文件, 动态改变数据

有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name="data">整数型:%1$d,浮点型:%2$.2f,字符串:%3$s</string> 其中%后面是占位符的位置,从1开始, $ 后面是填充数据的类型         %d:表示整数型:         %f :表示浮点型,其中f前面的.2 表示小数的位数         %

Android初学笔记——内部存储器的读写

手机的内存分为运行内存(RAM)和手机的存储容量(ROM),当然大部分手机还支持外部存储卡,今天的只是在手机的内存空间中进行简单的读写操作 下面是一个登录界面和该界面的xml文件内容 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layo

Android程序解析XML文件的方法及使用PULL解析XML案例

一.一般解析XML文件的方法有SAX和DOM.PULL (1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM 以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构

Android中生成xml文件

xml可以用来备份文件数据 Android中xml的读写 通常把数据封装到对象中,然后通过对象俩操作数据.包名不能使用Android或Java的关键字. 当一个应用被删除时,该应用在内部存储空间内的所有数据都会被删除,而应用在外部存储空间的数据不会被删除.备份文件一般都放在外部存储空间中. 对于xml文件的校验,可以把xml文件放到浏览器中去解析,如果能够正常解析说明xml文件是正确的. 短信备份案例: activity_main.xml <RelativeLayout xmlns:androi