1. 程式人生 > >Android中如何建立xml檔案

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資料夾下,如下:
BlogXML
還可以將這個檔案從File Explorer中匯出到電腦中檢視XML文件的具體內容,與輸出的字串完全一樣。

總結說明

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