使用自定義的XML資源,這當(dāng)然也必須是Android的一個功能,Java開發(fā)者可以使用DOM,SAX等多種方式,Android內(nèi)建了Pull來解析XML
那么我個人覺得在Android中還是使用它的內(nèi)建解析方法比較好,使用其它方式還要下載它們的Jar包,還是挺麻煩的.
?
同樣的,和動畫資源一樣,XML資源也沒有默認(rèn)創(chuàng)建,需要自己手動創(chuàng)建res/xml
下面先定義一個xml文件,然后再解析它
res/xml中創(chuàng)建books.xml
?
<?xml version="1.0" encoding="utf-8"?>
<books>
<book price="99.0" 出版日期="2008年">Java</book>
<book price="89.0" 出版日期="2009年">Jave EE</book>
<book price="69.0" 出版日期="2009年">Ajax</book>
</books>
下面在主界面中放一個按鈕,點擊時解析XML,然后顯示在下面的文本框里面
?
package WangLi.Resouce.XmlResTest;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class XmlResTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bn = (Button)findViewById(R.id.bn);
bn.setOnClickListener(new OnClickListener(){
public void onClick(View arg0)
{
//根據(jù)XML資源的ID獲取解析該資源的解析器
//XmlResourceParser是XmlPullParser的子類
XmlResourceParser xrp = getResources().getXml(R.xml.books);
try
{
StringBuilder sb = new StringBuilder("");
//還沒有到XML文檔的結(jié)尾處
while(xrp.getEventType()!=XmlResourceParser.END_DOCUMENT)
{
//如果遇到了開始標(biāo)簽
if(xrp.getEventType()==XmlResourceParser.START_TAG)
{
//獲取該標(biāo)簽的標(biāo)簽名
String tagName = xrp.getName();
if(tagName.equals("book"))
{
//根據(jù)屬性名獲取屬性值
String bookName = xrp.getAttributeValue(null,"price");
sb.append("價格:");
sb.append(bookName);
//根據(jù)屬性索引來獲取屬性值
String bookPrice = xrp.getAttributeName(1);
sb.append("出版日期:");
sb.append(bookPrice);
sb.append("書名:");
//獲取文本節(jié)點的值
sb.append(xrp.nextText());
}
sb.append("\n");
}
//獲取解析器的下一個事件
xrp.next();
}
EditText show = (EditText)findViewById(R.id.show);
show.setText(sb.toString());
}
catch(XmlPullParserException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
});
}
}
效果如下,當(dāng)點擊按鈕時,文本框出現(xiàn)解析的XML文件內(nèi)容
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

