Android读写XML(下)

注明:本文转自 http://www.moandroid.com. 

 

在前面的2篇文章Android读写XML(上)——package说明、Android读写XML(中)——SAX中想必大家对XML文件读取的方法已经比较熟悉了,在这里我们就不多说了,直接说明如何将信息写成XML文件,首先介绍Andoid SDK中的相关类。

说明
XmlSerializer Define an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。

什么是串行化?

对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对象变的可以像基本数据一样传递。

下面,我们就直接来看个具体的例子来说明,如何使用XmlSerializer。

 

private String writeXml(){ XmlSerializer serializer = Xml.newSerializer(); StringWriter writer = new StringWriter(); try{ serializer.setOutput(writer); // <?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?> serializer.startDocument(“UTF-8″,true); // <blog number=”1″> serializer.startTag(“”,”blog”); serializer.attribute(“”,”number”,String.valueOf(1)); //<message data=”2009-09-23″> serializer.startTag(“”,”message”); serializer.attribute(“”,”date”,”2009-09-23″); // <title>Android XML</title> serializer.startTag(“”,”title”); serializer.text(“Android XML”); 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(); return writer.toString(); } catch(Exception e) { throw new RuntimeException(e); } } 

 

 

我们先将writeXml()产生的字符串输出,看是否是按照我们设计的那样,使用Log.v(“XML”, writeXml())输出调试信息。运行程序,在DDMS中查看程序输出的调试信息,如何查看调试信息请阅读Android DDMS如何使用?
输出的字符串如下:

 

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?> <blog number=”1″> <message data=”2009-09-23″> <title>Android XML</title> <url>http://www.moandroid.com/?p=508</url> </message> </blog> 

 

看了运行的结果,对于上面代码的功能,估计大家就明白了,不再这里详细解析。
下面,进一步将字符串写入文件,代码如下:

 

public boolean Write(String path,String txt) { try { OutputStream os = openFileOutput(path,MODE_PRIVATE); OutputStreamWriter osw=new OutputStreamWriter(os); osw.write(txt); osw.close(); os.close(); } catch(FileNotFoundException e) { return false; } catch(IOException e) { return false; } return true; } } 

 

在onCreate()中增加如下代码:Write(“blog.xml”,writeXml())。运行程序,打开DDMS查看写入的XML文档,文件存放在data/data/{package}/files文件夹下,如下:

还可以将这个文件从File Explorer中导出到电脑中查看XML文档的具体内容,与输出的字符串完全一样。

总结说明

XML文件的写入就完成了,想必大家对串行化也有应该有一些了解,具体的需要引用那些package请大家到Android SDK去仔细查看吧。

 

 

你可能感兴趣的:(Android读写XML(下))