Android xml解析實(shí)例詳解
Android xml解析實(shí)例詳解
實(shí)現(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("價(jià)格:");
sb.append(bookName);
// 根據(jù)屬性的索引來獲取屬性值
String bookePrice = xrp.getAttributeValue(1);
sb.append(" 出版日期: ");
sb.append(bookePrice);
sb.append("書名:");
// 獲取文本節(jié)點(diǎn)
sb.append(xrp.nextText());
}
sb.append("\n");
}
// 獲取下一個(gè)事件
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年">輕量級(jí)JavaEE 企業(yè)應(yīng)用實(shí)戰(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>
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android?XML數(shù)據(jù)解析要點(diǎn)介紹
- Android中的xml解析介紹
- Android實(shí)現(xiàn)向本地寫入一個(gè)XML文件和解析XML文件
- 淺談Android Studio 解析XML的三種方法
- Android解析XML文件升級(jí)APK的方法
- Android中對(duì)xml文件解析的3種方式總結(jié)
- Android開發(fā)中解析xml文件XmlUtils工具類與用法示例
- Android編程簡(jiǎn)易實(shí)現(xiàn)XML解析的方法詳解
- Android開發(fā)筆記XML數(shù)據(jù)解析方法及優(yōu)缺點(diǎn)
相關(guān)文章
Android實(shí)現(xiàn)EditText內(nèi)容保存為Bitmap的方法
這篇文章主要介紹了Android實(shí)現(xiàn)EditText內(nèi)容保存為Bitmap的方法,涉及Android中saveBitmap方法的簡(jiǎn)單使用技巧,需要的朋友可以參考下2016-01-01
簡(jiǎn)單介紹Android開發(fā)中的Activity控件的基本概念
這篇文章主要介紹了Android開發(fā)中的Activity控件的基本概念,Activity控件的使用是安卓開發(fā)的基礎(chǔ)之一,需要的朋友可以參考下2015-12-12
教你如何使用platform密鑰對(duì)apk進(jìn)行簽名
這篇文章主要介紹了教你如何使用platform密鑰對(duì)apk進(jìn)行簽名,需要的朋友可以參考下2014-06-06
Android Studio 運(yùn)行時(shí)出現(xiàn)的警告信息解決辦法
這篇文章主要介紹了Android Studio 運(yùn)行時(shí)出現(xiàn)的警告信息解決辦法的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android實(shí)現(xiàn)使用微信登錄第三方APP的方法
這篇文章主要介紹了Android實(shí)現(xiàn)使用微信登錄第三方APP的方法,結(jié)合實(shí)例形式分析了Android微信登錄APP的操作步驟與具體功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-11-11
Android中在GridView網(wǎng)格視圖上實(shí)現(xiàn)item拖拽交換的方法
這篇文章主要介紹了Android中在GridView上實(shí)現(xiàn)item拖拽交換效果的方法,比起ListView的列表?xiàng)l目交換稍顯復(fù)雜,文中先介紹了關(guān)于創(chuàng)建GridView的一些基礎(chǔ)知識(shí),需要的朋友可以參考下2016-04-04
android底部菜單欄實(shí)現(xiàn)原理與代碼
底部菜單欄很重要,我看了一下很多應(yīng)用軟件都是用了底部菜單欄做,我這里使用了tabhost做了一種通用的(就是可以像微信那樣顯示未讀消息數(shù)量的,雖然之前也做過但是layout下的xml寫的太臃腫,這里去掉了很多不必要的層,個(gè)人看起來還是不錯(cuò)的,所以貼出來方便以后使用2013-01-01

