源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android使用Pull解析器解析xml文件的实现代码

  • 时间:2021-09-18 10:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android使用Pull解析器解析xml文件的实现代码
2个类:1个实体类Person.java,1个继承Activity的类   [b]1.Person.java[/b]
[u]复制代码[/u] 代码如下:
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 + "]";  } }
[b]2.继承Activity的类:[/b]
[u]复制代码[/u] 代码如下:
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();   }     } }
[b]main.xml[/b]
[u]复制代码[/u] 代码如下:
<?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>
[b]放在assets文件夹下的person.xml文件[/b]
[u]复制代码[/u] 代码如下:
<?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>blair@everywhere.com</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>bill@everywhere.com</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>cruise@everywhere.com</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>linda@everywhere.com</email>  </person> </people>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部