zoukankan      html  css  js  c++  java
  • Android xmlpull 方式解析xml文件

    1.新建一个xml文件,放在res/xml目录下

    1 <?xml version="1.0" encoding="utf-8"?>
    2 <citys>
    3     <city count="1400"  name="深圳">广东</city>
    4     <city count="1500"  name="广州">广东</city>
    5     <city count="1000"  name="武汉">湖北</city>
    6 </citys>

    2.布局文件代码如下:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="fill_parent"
     4     android:layout_height="fill_parent"
     5     android:orientation="vertical" >
     6 
     7     <Button
     8         android:id="@+id/btn"
     9         android:layout_width="wrap_content"
    10         android:layout_height="wrap_content"
    11         android:text="@string/btnmsg" />
    12 
    13     <EditText
    14         android:id="@+id/edit"
    15         android:layout_width="fill_parent"
    16         android:layout_height="wrap_content" />
    17 
    18 </LinearLayout>

    3.后台java解析代码如下:

     1 package ymw.main;
     2 
     3 import java.io.IOException;
     4 
     5 import org.xmlpull.v1.XmlPullParserException;
     6 
     7 import ymw.main.R;
     8 
     9 import android.app.Activity;
    10 import android.content.res.XmlResourceParser;
    11 import android.os.Bundle;
    12 import android.view.View;
    13 import android.widget.Button;
    14 import android.widget.EditText;
    15 
    16 public class XmlResourceParserSampleActivity extends Activity {
    17     @Override
    18     public void onCreate(Bundle savedInstanceState) {
    19         super.onCreate(savedInstanceState);
    20         setContentView(R.layout.main);
    21         Button btn = (Button) findViewById(R.id.btn);
    22         final EditText edit = (EditText) findViewById(R.id.edit);
    23         btn.setOnClickListener(new View.OnClickListener() {
    24             @Override
    25             public void onClick(View v) {
    26                 XmlResourceParser xpr = XmlResourceParserSampleActivity.this
    27                         .getResources().getXml(R.xml.myxml);// 找到xml文件
    28                 StringBuilder sb = new StringBuilder();
    29                 try {
    30                     // 循环解析
    31                     while (xpr.getEventType() != XmlResourceParser.END_DOCUMENT) {
    32                         if (xpr.getEventType() == XmlResourceParser.START_TAG) {
    33                             // 获取标签的标签名
    34                             String name = xpr.getName();
    35                             if (name.equals("city")) {
    36                                 sb.append("城市名称:" + xpr.getAttributeValue(1)
    37                                         + "
    ");
    38                                 sb.append("人口:"
    39                                         + xpr.getAttributeValue(null, "count")
    40                                         + "万
    ");
    41                                 try {
    42                                     sb.append("所属省份:" + xpr.nextText() + "
    
    ");
    43                                 } catch (IOException e) {
    44                                     e.printStackTrace();
    45                                 }
    46                             }
    47                         }
    48                         try {
    49                             xpr.next();
    50                         } catch (IOException e) {
    51                             e.printStackTrace();
    52                         }
    53                     }
    54                     edit.setText(sb.toString());
    55                 } catch (XmlPullParserException e) {
    56                     e.printStackTrace();
    57                 }
    58             }
    59         });
    60     }
    61 
    62 }
  • 相关阅读:
    j2EE(转)
    java_jdbc
    Java_pom(转)
    Java 特性
    mybatis-plus一些通用方法
    synchronized和lock的区别和使用
    JQGrid之文件上传
    项目调试Bug集锦(更新中)
    SpringMVC的流程
    Java小白进阶之值传递-引用传递
  • 原文地址:https://www.cnblogs.com/_ymw/p/4224530.html
Copyright © 2011-2022 走看看