android 读取xml

青春须早为,岂能长少年。这篇文章主要讲述android 读取xml相关的知识,希望能为你提供帮助。
            在有些应用中,有一点小数据。直接存储在XML就是。实现较为简单,
1、xml文件放入asset目录。结构如:
< ?xml version=" 1.0" encoding=" UTF-8" ?>
< messages> < message id=" 1" > < title> 3月毕业证数码像採集< /title> < date1> 3< /date1> < content> 3月12日左右全年一次毕业证数码像採集,由新华社负责< /content> < url> 23< /url> < /message> < message id=" 2" > < title> 3、9月课程注冊< /title> < date1> 3< /date1> < content> 3月15日、9月15日本学期所修课程注冊、课本征订,包含课程修完学员论文注冊< /content> < url> 23< /url>
< /message>
< /messages>
2 、构建message类,解析xml类PullParseService
【android 读取xml】3、在activity中调用。

详细代码例如以下:
 
1.解析xml类
package com.edu.notice;
import java.io.InputStream;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;
public class PullParseService {
  public static ArrayList < Message> getMessages(InputStream inputStream) throws Exception{
    ArrayList< Message> messages =null;
    Message message =null;
    XmlPullParser parser = Xml.newPullParser();
    parser.setInput(inputStream, " UTF-8" );    
    int event = parser.getEventType(); //
    while(event!=XmlPullParser.END_DOCUMENT){   
      switch(event){   
              case XmlPullParser.START_DOCUMENT://
                          messages = new ArrayList< Message> (); //   
                                  break;    
              case XmlPullParser.START_TAG://
                                  if(" message" .equals(parser.getName())){//
                                            message = new Message();    
                                            message.setId(Integer.parseInt(parser.getAttributeValue(0))); //
                                    }   
                                    if(message!=null){   
                                            if(" title" .equals(parser.getName())){//
                                                  message.setTitle(parser.nextText());    
                                            }else if(" date1" .equals(parser.getName())){//
                                                  message.setData1(Integer.parseInt(parser.nextText()));    
                                            }else if(" content" .equals(parser.getName())){
                                              message.setContent(parser.nextText());
                                            }else if(" url" .equals(parser.getName())){
                                              message.setUrl(parser.nextText());
                                            }
                                    }   
                                    break;    
                            case XmlPullParser.END_TAG://
                                    if(" message" .equals(parser.getName())){// 
                                      messages.add(message); //
                                      message = null;    
                                    }   
                                    break;    
                          }   
                          event = parser.next(); //
                }//end while 
    return messages;
   
  };
}

2、xml每一个对象信息类
package com.edu.notice;
public class Message {
  private int id;
  private String title;
  private int data1;
  private String content;
  private String url;
  /**
  * @return the id
  */
  public int getId() {
    return id;
  }
  /**
  * @param id the id to set
  */
  public void setId(int id) {
    this.id = id;
  }
  /**
  * @return the title
  */
  public String getTitle() {
    return title;
  }
  /**
  * @param title the title to set
  */
  public void setTitle(String title) {
    this.title = title;
  }
  /**
  * @return the data1
  */
  public int getData1() {
    return data1;
  }
  /**
  * @param data1 the data1 to set
  */
  public void setData1(int data1) {
    this.data1 = data1;
  }
  /**
  * @return the content
  */
  public String getContent() {
    return content;
  }
  /**
  * @param content the content to set
  */
  public void setContent(String content) {
    this.content = content;
  }
  /**
  * @return the url
  */
  public String getUrl() {
    return url;
  }
  /**
  * @param url the url to set
  */
  public void setUrl(String url) {
    this.url = url;
  }
 
 
 
}
 
3、读取xml数据应用到应用中
AssetManager  asset =  getAssets();
                try {
        InputStream input=asset.open(" message.xml" );
        List< Message> list = null;
        try {
          list = PullParseService.getMessages(input);
         
          String tag=" xmllllll" ;
          int id =(int) (Math.random()*12);
          Log.i(tag, list.get(id).getContent());
    //将内容公布广播
          setReminder(true, list.get(id).getContent());
         
         
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
       
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
 









































































































































    推荐阅读