XML解析实例

原创 2013年12月03日 16:10:51
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>


版权声明:本文为博主原创文章,未经博主允许不得转载。

Java操作XML编程实例解析.txt

  • 2013年04月07日 18:51
  • 6KB
  • 下载

XML(SAX与DOM解析)内附实例与PPT

  • 2008年11月10日 19:37
  • 168KB
  • 下载

Dom4j 解析XML实例

解析XML的方式有很多,本文介绍使用dom4j解析xml。 1、环境准备 (1)下载dom4j-1.6.1.jar (2)下载junit-4.10.jar 2、温馨提示 解析XML过程是通过...

DOM、JDOM、DOM4J解析XML实例

  • 2016年08月01日 15:18
  • 300KB
  • 下载

dom4j解析和创建xml简单实例

  • 2016年05月14日 21:37
  • 1.22MB
  • 下载

java dom4j解析XML读取数据源配置的代码实例

java dom4j解析XML读取数据源配置的代码实例 源代码下载地址:http://www.zuidaima.com/share/1796449490865152.htm...

DOM解析XML文件实例

  • 2012年04月17日 19:33
  • 453KB
  • 下载

用DOM SAX JDom dom4j 对xml文档解析实例

  • 2013年07月28日 17:05
  • 15.13MB
  • 下载

java解析xml文件(附jar包和使用实例)

解析xml文件用到了dom4j-1.6.1.jar包,具体版本可能有新旧之分,我提供如下某度云盘,供下载测试用。 链接:http://pan.baidu.com/s/1i5Aw8Jz 密码:qma7 ...

xml解析实例

  • 2014年03月27日 19:48
  • 16KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML解析实例
举报原因:
原因补充:

(最多只允许输入30个字)