類 說明
XmlSerializer Define an interface to serialziation of XML Infoset.定義一個接口來實現(xiàn)XML信息的串行化。
什么是串行化?
對象的串型化,也有叫做對象的序列話,并不只是簡單的把對象保存在存儲器上,它可以使我們在流中傳輸對象,使對象變的可以像基本數(shù)據(jù)一樣傳遞。
下面,我們就直接來看個具體的例子來說明,如何使用XmlSerializer。
- private String writeXml(){
- XmlSerializer serializer = Xml.newSerializer();
- StringWriter writer = new StringWriter();
- try{
- serializer.setOutput(writer);
-
-
- serializer.startDocument(”UTF-8″,true);
-
-
- serializer.startTag(”",”blog”);
- serializer.attribute(”",”number”,String.valueOf(1));
-
-
- serializer.startTag(”",”message”);
- serializer.attribute(”",”date”,”2009-09-23″);
-
-
- serializer.startTag(”",”title”);
- serializer.text(”Android XML”);
- serializer.endTag(”",”title”);
-
-
- serializer.startTag(”",”url”);
- serializer.text(”http:
- serializer.endTag(”",”url”);
-
-
- serializer.endTag(”",”message”);
-
- serializer.endTag(”",”blog”);
- serializer.endDocument();
- return writer.toString();
- }
- catch(Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
我們先將writeXml()產(chǎn)生的字符串輸出 ,看是否是按照我們設(shè)計的那樣,使用Log.v(“XML”, writeXml())輸出調(diào)試信息。運行程序,在DDMS中查看程序輸出的調(diào)試信息,如何查看調(diào)試信息請閱讀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>
看了運行的結(jié)果,對于上面代碼的功能,估計大家就明白了,不再這里詳細解析。
下面,進一步將字符串寫入文件 ,代碼如下:
- 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文檔的具體內(nèi)容,與輸出的字符串完全一樣。
總結(jié)說明
XML文件的寫入就完成了,想必大家對串行化也有應(yīng)該有一些了解,具體的需要引用那些package請大家到Android SDK去仔細查看吧。