Android xml解析實例詳解
更新時間:2017年06月26日 10:34:28 投稿:lqh
這篇文章主要介紹了Android xml解析實例詳解的相關(guān)資料,需要的朋友可以參考下
Android xml解析實例詳解
實現(xiàn)效果圖:

XmlActivity
package com.Android.xiong.gridlayoutTest;
import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class XmlActivity extends Activity {
private Button btn_xml;
private EditText et_xml;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xml);
initView();
}
private void initView() {
// 初始化組件
btn_xml = (Button) findViewById(R.id.btn_xml);
et_xml = (EditText) findViewById(R.id.et_show);
}
public void xml(View v) {
// xml解析器
XmlResourceParser xrp = getResources().getXml(R.xml.books);
try {
StringBuilder sb = new StringBuilder("");
while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
// 如果遇到開始標(biāo)簽
if (xrp.getEventType() == XmlResourceParser.START_TAG) {
// 獲取該標(biāo)簽的簽名
String tagName = xrp.getName();
// 如果遇到book標(biāo)簽
if (tagName.equals("book")) {
// 根據(jù)屬性名來獲取屬性值
String bookName = xrp.getAttributeValue(null, "price");
sb.append("價格:");
sb.append(bookName);
// 根據(jù)屬性的索引來獲取屬性值
String bookePrice = xrp.getAttributeValue(1);
sb.append(" 出版日期: ");
sb.append(bookePrice);
sb.append("書名:");
// 獲取文本節(jié)點
sb.append(xrp.nextText());
}
sb.append("\n");
}
// 獲取下一個事件
xrp.next();
}
//設(shè)置字體
et_xml.setTypeface(Typeface.SERIF);
//設(shè)置字體大小
et_xml.setTextSize(30);
//設(shè)置字體顏色
et_xml.setTextColor(Color.RED);
et_xml.setText(sb.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
bookx.xml
<?xml version="1.0" encoding="utf-8"?>
<books>
<book price="109.0" 出版日期="2008年">瘋狂Java講義</book>
<book price="108.0" 出版日期="2009年">輕量級JavaEE 企業(yè)應(yīng)用實戰(zhàn)</book>
<book price="79.0" 出版日期="2009年">瘋狂Ajax講義</book>
</books>
activity_xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn_xml"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:onClick="xml"
android:text="解析xml" />
<EditText
android:id="@+id/et_show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="顯示解析內(nèi)容" />
</LinearLayout>
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android中使用Intent在Activity之間傳遞對象(使用Serializable或者Parcelable)的
這篇文章主要介紹了 Android中使用Intent在Activity之間傳遞對象(使用Serializable或者Parcelable)的方法的相關(guān)資料,需要的朋友可以參考下2016-01-01

