Android讀寫XML(下)

來源:互聯網
上載者:User
文章目錄
  • 什麼是序列化?
  • 總結說明

註明:本文轉自 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(){<br />XmlSerializer serializer = Xml.newSerializer();<br />StringWriter writer = new StringWriter();<br />try{<br />serializer.setOutput(writer);<br />// <?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?><br />serializer.startDocument(“UTF-8″,true);<br />// <blog number=”1″><br />serializer.startTag(“”,”blog”);<br />serializer.attribute(“”,”number”,String.valueOf(1));<br />//<message data=”2009-09-23″><br />serializer.startTag(“”,”message”);<br />serializer.attribute(“”,”date”,”2009-09-23″);<br />// <title>Android XML</title><br />serializer.startTag(“”,”title”);<br />serializer.text(“Android XML”);<br />serializer.endTag(“”,”title”);<br />// <url>http://www.moandroid.com/?p=508</url><br />serializer.startTag(“”,”url”);<br />serializer.text(“http://www.moandroid.com/?p=508″);<br />serializer.endTag(“”,”url”);<br />//</message><br />serializer.endTag(“”,”message”);<br />// </blog><br />serializer.endTag(“”,”blog”);<br />serializer.endDocument();<br />return writer.toString();<br />}<br />catch(Exception e)<br />{<br />throw new RuntimeException(e);<br />}<br />} 

 

 

我們先將writeXml()產生的字串輸出,看是否是按照我們設計的那樣,使用Log.v(“XML”, writeXml())輸出調試資訊。運行程式,在DDMS中查看程式輸出的調試資訊,如何查看調試資訊請閱讀Android DDMS如何使用?
輸出的字串如下:

 

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

 

看了啟動並執行結果,對於上面代碼的功能,估計大家就明白了,不再這裡詳細解析。
下面,進一步將字串寫入檔案,代碼如下:

 

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

 


在onCreate()中增加如下代碼:Write(“blog.xml”,writeXml())。運行程式,開啟DDMS查看寫入的XML文檔,檔案存放在data/data/{package}/files檔案夾下,如下:

還可以將這個檔案從File Explorer中匯出到電腦中查看XML文檔的具體內容,與輸出的字串完全一樣。

總結說明

XML檔案的寫入就完成了,想必大家對序列化也有應該有一些瞭解,具體的需要引用那些package請大家到Android SDK去仔細查看吧。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.