Android读写XML(下)——创建XML文档
16lz
2021-12-04
在前面的2篇文章 Android读写XML(上)—— package说明、 Android读写XML(中)—— SAX中想必大家对XML文件读取的方法已经比较熟悉了,在这里我们就不多说了,直接说明如何将信息写成XML文件,首先介绍Andoid SDK中的相关类。 类 说明
XmlSerializer Define an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。 什么是串行化?
对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对象变的可以像基本数据一样传递。 下面,我们就直接来看个具体的例子来说明,如何使用XmlSerializer。
输出的字符串如下:
下面,进一步将字符串写入文件 ,代码如下:
在onCreate()中增加如下代码:Write(”blog.xml”,writeXml())。运行程序,打开DDMS查看写入的XML文档,文件存放在data/data/{package}/files文件夹下,如下:
还可以将这个文件从File Explorer中导出到电脑中查看XML文档的具体内容,与输出的字符串完全一样。 总结说明
XML文件的写入就完成了,想必大家对串行化也有应该有一些了解,具体的需要引用那些package请大家到Android SDK去仔细查看吧。
XmlSerializer Define an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。 什么是串行化?
对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对象变的可以像基本数据一样传递。 下面,我们就直接来看个具体的例子来说明,如何使用XmlSerializer。
- privateStringwriteXml(){
- XmlSerializerserializer=Xml.newSerializer();
- StringWriterwriter=newStringWriter();
- try{
- serializer.setOutput(writer);
- //<?xmlversion=”1.0″encoding=”UTF-8″standalone=”yes”?>
- serializer.startDocument(”UTF-8″,true);
- //<blognumber=”1″>
- serializer.startTag(”",”blog”);
- serializer.attribute(”",”number”,String.valueOf(1));
- //<messagedata=”2009-09-23″>
- serializer.startTag(”",”message”);
- serializer.attribute(”",”date”,”2009-09-23″);
- //<title>AndroidXML</title>
- serializer.startTag(”",”title”);
- serializer.text(”AndroidXML”);
- serializer.endTag(”",”title”);
- //<url>http://www.moandroid.com/?p=508</url>
- serializer.startTag(”",”url”);
- serializer.text(”http://www.moandroid.com/?p=508″);
- serializer.endTag(”",”url”);
- //</message>
- serializer.endTag(”",”message”);
- //</blog>
- serializer.endTag(”",”blog”);
- serializer.endDocument();
- returnwriter.toString();
- }
- catch(Exceptione)
- {
- thrownewRuntimeException(e);
- }
- }
输出的字符串如下:
- <?xmlversion=”1.0″encoding=”UTF-8″standalone=”yes”?>
- <blognumber=”1″>
- <messagedata=”2009-09-23″>
- <title>AndroidXML</title>
- <url>http://www.moandroid.com/?p=508</url>
- </message>
- </blog>
下面,进一步将字符串写入文件 ,代码如下:
- publicbooleanWrite(Stringpath,Stringtxt)
- {
- try
- {
- OutputStreamos=openFileOutput(path,MODE_PRIVATE);
- OutputStreamWriterosw=newOutputStreamWriter(os);
- osw.write(txt);
- osw.close();
- os.close();
- }
- catch(FileNotFoundExceptione)
- {
- returnfalse;
- }
- catch(IOExceptione)
- {
- returnfalse;
- }
- returntrue;
- }
- }
在onCreate()中增加如下代码:Write(”blog.xml”,writeXml())。运行程序,打开DDMS查看写入的XML文档,文件存放在data/data/{package}/files文件夹下,如下:
还可以将这个文件从File Explorer中导出到电脑中查看XML文档的具体内容,与输出的字符串完全一样。 总结说明
XML文件的写入就完成了,想必大家对串行化也有应该有一些了解,具体的需要引用那些package请大家到Android SDK去仔细查看吧。
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Android(安卓)解析XML文件方法
- Android(安卓)Environment.getExternalStorageState使用
- Android(安卓)Tab 选项卡的简单实现
- Android的Activity跳转动画集合
- Android中读写文件
- Android三大动画详解
- findViewById()使用常见错误