欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

androidXMLPullParser讀取xml文件-創(chuàng)新互聯(lián)

    由于剛學Android,用的開發(fā)工具是Android studio,沒用過eclipse的那個開發(fā)Android,所以針對有些說由于2個IDE的路徑不通導致的文件讀取不到,不做分析(實際上是沒法分析eclipse里的),這個博文只針對AS用戶。

創(chuàng)新互聯(lián)公司專注于臺前企業(yè)網站建設,響應式網站,商城網站建設。臺前網站建設公司,為臺前等地區(qū)提供建站服務。全流程按需搭建網站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務

        我們的資源文件,除了放到res目錄下之外,還可以放在跟java 、res同級的asserts(新建的)目錄里。

android XMLPullParser讀取xml文件

        今天要解析的這個xml就是在這個目錄下的。

首先說一下xmlpullparser,這個pull解析是基于事件的模式。比如

讀取到xml的開始聲明內容,那么就會觸發(fā)START_DOCUMENT,返回一個int類型數據;

讀取到xml的結束內容,那么觸發(fā)END_DOCUMENT,返回一個int類型數據

讀取到xml的開始標簽,返回START_TAG,

讀取到xml的結束標簽,返回END_TAG,

讀取到xml的文本返回TEXT

讀取標簽后,可以獲取該標簽的屬性值與文本值

下面這個例子講解的xml在附件中的getWeatherByCityName.xml.

下面開始講步驟:

1、獲取assets里面的資源文件的輸入流。 這里在AS中可以通過AssetManager來獲取,即第一行代碼的方式。也可以通過第二行的方式獲取這個輸入流

2、聲明xmlPullParser并給輸入流指明編碼方式。

3、定義一個xmlpullParser獲取到的事件類型,eventType。

4、開始循環(huán)解析,如果沒有碰到END_DOCUMENT,那么就一直往下走;取出節(jié)點是string的tag里的文本內容并放入到list里,作為后面處理。

5、一定要注意,要加上eventType=xmlPullParser.next();不然的話循環(huán)會一直讀取xml的第一個節(jié)點,即START_DOCUMENT而不往下執(zhí)行,導致死循環(huán)。

 InputStream inputStream = getAssets().open("getWeatherbyCityName.xml");
// InputStream inputStream = getClass().getClassLoader().getResourceAsStream("assets/"+"getWeatherbyCityName.xml");
 XmlPullParser xmlPullParser = Xml.newPullParser();
 xmlPullParser.setInput(inputStream,"utf-8");

 List<String> infosList=new ArrayList<String>();
 int eventType=xmlPullParser.getEventType();
 while(eventType!=XmlPullParser.END_DOCUMENT){
     if ("string".equals(xmlPullParser.getName())){
         String info=xmlPullParser.nextText();
         infosList.add(info);
     }
     eventType=xmlPullParser.next();
 }

下面講一個比較常見的xml格式的文件讀取里面的內容:

這個xml對應的xml是附件中的info2.xml

        需要注意的是xml文件的格式正確。之前由于從網上拷貝了一個xml文本內容,結果xml莫名的各種紅線,調試下面的程序時,報xml格式錯誤,就手寫了一個xml,編譯器不報錯了,才調試好。

        里面講解的StudentBean 只是一個簡單的有3個私有屬性的類,id,name,age,帶上get/set方法

package com.yuanlp.pulldemo2;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Xml;

import com.yuanlp.pulldemo2.bean.StudentBean;

import org.xmlpull.v1.XmlPullParser;

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

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       List<StudentBean> list=click();
       for(StudentBean student : list){
           System.out.println("+++++++++<><>>>>>>>>>>>id是>>>>>>>>>>>>>>>>>>>>>>>>"+student.getId());
           System.out.println("+++++++++<><>>>>>>>>>>>年齡是>>>>>>>>>>>>>>>>>>>>>>>>"+student.getAge());
           System.out.println("+++++++++<><>>>>>>>>>>>名字是>>>>>>>>>>>>>>>>>>>>>>>>"+student.getName());
       }
    }

    public List<StudentBean> click(){
        try {
            InputStream inputStream=getAssets().open("info2.xml");
            XmlPullParser xmlPullParser= Xml.newPullParser();
            xmlPullParser.setInput(inputStream,"utf-8");
            StudentBean student=null;
            List<StudentBean> studentlist=null;

            int eventType=xmlPullParser.getEventType();
            while(eventType!=XmlPullParser.END_DOCUMENT){

                switch (eventType){
                    case XmlPullParser.START_DOCUMENT:
                        studentlist=new ArrayList<StudentBean>();
                        break;
                    case XmlPullParser.START_TAG:
                        //從這個start節(jié)點到下一個end節(jié)點,讀取到的屬性都屬于一個student,所以在此聲明一個student,并將這個節(jié)點取到的數據放入到這個student中
                        //通過getName()判斷讀到哪里,然后通過nextText()獲取值,或者通過getAttributeValue獲取屬性值
                        String tagName=xmlPullParser.getName();
                        if (tagName.equalsIgnoreCase("person")){
                            student=new StudentBean();
                            student.setId(xmlPullParser.getAttributeValue(null,"id"));
                        }else if (student!=null){
                            if (tagName.equalsIgnoreCase("name")){
                                student.setName(xmlPullParser.nextText());
                            }else if (tagName.equalsIgnoreCase("age")){
                                student.setAge(xmlPullParser.nextText());
                            }
                        }
                        break;
                    case XmlPullParser.END_TAG: //結束標簽
                        //如果讀取到結束標簽,而且這個結束標簽是person的話,就把student放入到list,并把student置null,方便下個循環(huán)重新聲明
                        if (xmlPullParser.getName().equalsIgnoreCase("person")&&student!=null){
                            //讀完一個person,可以將他放入到list中
                            studentlist.add(student);
                            student=null;
                        }


                }
                eventType=xmlPullParser.next();

            }
              inputStream.close();
            return  studentlist;

        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

附件:http://down.51cto.com/data/2366759

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文標題:androidXMLPullParser讀取xml文件-創(chuàng)新互聯(lián)
網址分享:http://aaarwkj.com/article44/jedhe.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、營銷型網站建設全網營銷推廣、網站改版、網站設計公司網站維護

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作
日韩欧美一区二区三区| 日本精品在线亚洲国产欧美| 亚洲最新精品一区二区| 精品日韩av高清一区二区三区| 午夜日韩综合激情视频在线观看| 国产精品久久久久精品日日三级| 青青草免费在线视频蜜臀| 国产高清不卡一二三区| 中文字幕人妻系列东京热| 亚洲人妻不卡一区二区| 熟女人妻丰满视频中文字幕| 亚洲一区二区三区色婷婷| 欧美日韩另类综合一区| 精品人妻一区两区三区| 成年免费大片黄在线观看| 国产精品欧美日韩精品| 久久国产精品一区二区三区| 婷婷av一区二区三区| 最近最新免费成人在线视频| 亚洲黄色片一区二区三区| 欧美日韩国产另类在线视频| 少妇被按摩高潮在线观看| 亚洲男人成人性天堂网站| 日本亚洲美丽少妇天堂| 黑人巨大精品欧美一区免| 十八岁毛片一区二区三区| 亚洲不卡高清一区二区三区| 国产精品六区久久综合亚洲av| 亚洲av中文久久精品国内| 久久这里只有精品热免费| 国产黄片免费高清观看| 中文字幕日韩有码在线| 国产黄色看三级91大片| 国产精品视频一区二区噜| 91午夜福利视频鉴赏| 国产精品国产三级国产av野外| 亚洲激情中文字幕av网| 亚洲精品在线一二三区| 亚洲成人免费电影91| 成人高清乱码一区二区三区| 极品少妇高潮在线观看免费|