2012年4月13日金曜日

xmlファイルの読み込み-ファイル名を指定して読み込み

assetフォルダの中のファイルを指定して読み込む

package com.yamato.xml;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;

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

  try {
   XmlPullParserFactory factory;
   factory = XmlPullParserFactory.newInstance();
   factory.setNamespaceAware(true);
   XmlPullParser xpp = factory.newPullParser();

   // assets情報の取得
   AssetManager asset = getResources().getAssets();
   // XMLファイルのストリーム情報を取得
   InputStream is = null;
   is = asset.open("test.xml");
   InputStreamReader isr = new InputStreamReader(is);
   xpp.setInput(isr);
   
   int eventType = xpp.getEventType();
   while (eventType != XmlPullParser.END_DOCUMENT) {
    if (eventType == XmlPullParser.START_DOCUMENT) {
     System.out.println("Start document");
    } else if (eventType == XmlPullParser.START_TAG) {
     System.out.println("Start tag " + xpp.getName());
    } else if (eventType == XmlPullParser.END_TAG) {
     System.out.println("End tag " + xpp.getName());
    } else if (eventType == XmlPullParser.TEXT) {
     System.out.println("Text " + xpp.getText());
    }
    eventType = xpp.next();
   }
  } catch (XmlPullParserException e) {
   // TODO 自動生成された catch ブロック
   e.printStackTrace();
  } catch (IOException e) {
   // TODO 自動生成された catch ブロック
   e.printStackTrace();
  }

  System.out.println("End document");
 }
}


関連記事

0 件のコメント:

コメントを投稿