一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android使用Pull解析器解析xml文件的實現代碼

Android使用Pull解析器解析xml文件的實現代碼

2021-01-07 14:58Android教程網 Android

Android使用Pull解析器解析xml文件的實現代碼,需要的朋友可以參考一下

2個類:1個實體類Person.java,1個繼承Activity的類

 

1.Person.java

 

復制代碼 代碼如下:


package com.mrzhu.work_1_sax;

 

public class Person {
 private String personId;
 private String name;
 private String address;
 private String tel;
 private String fax;
 private String email;

 public String getPersonId() {
  return personId;
 }

 public void setPersonId(String personId) {
  this.personId = personId;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String getAddress() {
  return address;
 }

 public void setAddress(String address) {
  this.address = address;
 }

 public String getTel() {
  return tel;
 }

 public void setTel(String tel) {
  this.tel = tel;
 }

 public String getFax() {
  return fax;
 }

 public void setFax(String fax) {
  this.fax = fax;
 }

 public String getEmail() {
  return email;
 }

 public void setEmail(String email) {
  this.email = email;
 }

 @Override
 public String toString() {
  return "Person [personId=" + personId + ", name=" + name + ", address="
    + address + ", tel=" + tel + ", fax=" + fax + ", email="
    + email + "]";
 }
}

 

2.繼承Activity的類:

 

復制代碼 代碼如下:


package com.mrzhu.work_1_sax;

 

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.SAXException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;
import android.os.Bundle;
import android.util.Xml;
import android.view.View;
import android.widget.Toast;

public class PullActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void pull(View v){
     pullParse(); 
    }

    public void pullParse(){
     List<Person> persons = null;
     Person person = null;
     InputStream in = null;
     try {
      XmlPullParser pullParser = Xml.newPullParser();
      in = getAssets().open("person.xml");
   pullParser.setInput(in, "utf-8");
   int eventType = pullParser.getEventType();
   while(eventType != XmlPullParser.END_DOCUMENT){
    String qName = pullParser.getName();
    switch(eventType){
    case XmlPullParser.START_DOCUMENT:
     persons = new ArrayList<Person>();
     break;
    case XmlPullParser.START_TAG:
     if("person".equalsIgnoreCase(qName)){
      person = new Person();
      person.setPersonId(pullParser.getAttributeValue(null, "personid"));
     }else if("name".equalsIgnoreCase(qName)){
      person.setName(pullParser.nextText());
     }else if("address".equalsIgnoreCase(qName)){
      person.setAddress(pullParser.nextText());
     }else if("tel".equalsIgnoreCase(qName)){
      person.setTel(pullParser.nextText());
     }else if("fax".equalsIgnoreCase(qName)){
      person.setFax(pullParser.nextText());
     }else if("email".equalsIgnoreCase(qName)){
      person.setEmail(pullParser.nextText());
     }
     break;
    case XmlPullParser.END_TAG:
     if("person".equalsIgnoreCase(qName)){
      persons.add(person);
     }
     break;
    }
    eventType = pullParser.next();
   }
   in.close();
  } catch (XmlPullParserException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

     for (Person person2 : persons) {
   Toast.makeText(this, person2.toString(), Toast.LENGTH_SHORT).show();
  }
    }
}

 

main.xml

 

復制代碼 代碼如下:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

 

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="pull"
        android:text="pull" />

</LinearLayout>

 

放在assets文件夾下的person.xml文件

 

復制代碼 代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<people>
 <person personid="E01">
  <name>Tony Blair</name>
  <address>10 Downing Street, London, UK</address>
  <tel>(061) 98765</tel>
  <fax>(061) 98765</fax>
  <email>[email protected]</email>
 </person>
 <person personid="E02">
  <name>Bill Clinton</name>
  <address>White House, USA</address>
  <tel>(001) 6400 98765</tel>
  <fax>(001) 6400 98765</fax>
  <email>[email protected]</email>
 </person>
 <person personid="E03">
  <name>Tom Cruise</name>
  <address>57 Jumbo Street, New York, USA</address>
  <tel>(001) 4500 67859</tel>
  <fax>(001) 4500 67859</fax>
  <email>[email protected]</email>
 </person>
 <person personid="E04">
  <name>Linda Goodman</name>
  <address>78 Crax Lane, London, UK</address>
  <tel>(061) 54 56789</tel>
  <fax>(061) 54 56789</fax>
  <email>[email protected]</email>
 </person>
</people>

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精东影业传媒全部作品 | 亚洲精品国产一区二区三区在 | 日本手机在线视频 | 午夜亚洲一区二区福利 | 奇米影视777最新在线 | 波多野结衣护士 | 高清在线一区二区 | 好湿好滑好硬好爽好深视频 | 国内老司机精品视频在线播出 | 免费高清特黄a 大片 | 欧美精品国产一区二区三区 | 高h喷水荡肉爽文np肉色文 | 国产精品成人麻豆专区 | 麻豆资源 | 波多野结衣同性系列698 | 黑人干亚洲人 | 能看的毛片网站 | 美女国内精品自产拍在线播放 | 4438全国最大成人网视频 | 九色PORNY真实丨国产大胸 | 久久九九有精品国产23百花影院 | 贵妇的私人性俱乐部 | 楚乔传第二部全60集免费观看 | 欧美8x8x | 地址二地址三2021变更 | 2020年精品国产午夜福利在线 | 亚洲精品国产精品麻豆99 | 欧美a欧美1级 | 亚洲精品AV无码喷奶水糖心 | 成人猫咪maomiav永久网址 | 91欧美秘密入口 | 强行扒开美女大腿挺进 | 欧美在线播放一区二区 | 亚洲色图欧美图片 | 99只有精品| 日朝欧美亚洲精品 | 国产原创精品 | 婷婷99视频精品全部在线观看 | 久久国产免费 | 国产小视频在线免费观看 | 亚洲第9页 |