XML解析实例
发布时间:2020-12-16 07:40:30 所属栏目:百科 来源:网络整理
导读:package com.android.xiong.xmlrestest;import android.app.Activity;import android.content.res.XmlResourceParser;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import androi
package com.android.xiong.xmlrestest; import android.app.Activity; import android.content.res.XmlResourceParser; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button bt1 = (Button) findViewById(R.id.bt1); bt1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 根据XML资源的ID获取解析该资源的解析器 // XmlResourceParSer是XmlPullParser的子类 XmlResourceParser xrp = getResources().getXml(R.xml.book); try { StringBuilder sb = new StringBuilder(""); // 还没有到XML文档的结尾处 while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) { // 如果遇到了开始标签 if (xrp.getEventType() == XmlResourceParser.START_TAG) { // 获取该标签的标签名 String tagName = xrp.getName(); // 如果遇到book标签 if (tagName.equals("book")) { // 根据属性名来获取属性值 String bookName = xrp.getAttributeValue(null,"price"); sb.append("价格:"); sb.append(bookName); // 根据属性索引来获取属性值 String bookPrice = xrp.getAttributeValue(1); sb.append(" 出版社日期:"); sb.append(bookPrice); sb.append(" 书名:"); // 获取文本节点的值 sb.append(xrp.nextText()); } sb.append("n"); } xrp.next(); } TextView txt = (TextView) findViewById(R.id.txt1); txt.setText(sb.toString()); } catch (Exception e) { e.printStackTrace(); } } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main,menu); return true; } }
<?xml version="1.0" encoding="utf-8"?> <books> <book price="90" 出版社日期="2008年">Java</book> <book price="80" 出版社日期="2009年">Android</book> <book price="70" 出版社日期="2009年">.net</book> </books> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/bt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="解析xml内容" /> <TextView android:id="@+id/txt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/bt1" /> </RelativeLayout> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |