anoncom blog
  • ホーム
  • About
KEEP IN TOUCH

Android でリソース内XMLを読み込む方法

5月24
2010
Leave a Comment Written by anon
このエントリーをはてなブックマークに追加
はてなブックマーク - Android でリソース内XMLを読み込む方法
Share on LinkedIn

自分用メモ。
Android開発で、アプリのリソースファイル内に置いたXMLファイルをパースして使いたいときは、
XmlPullParser を使うことで簡単にXMLを扱う事が出来る。

以下のサンプルは res/xml/target.xml を読み込む場合

package net.anoncom.android.example;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.content.res.Resources;
import android.util.Log;


public class XmlSample {

	public static void loadXML() {
		try {
			XmlPullParser parser = getResources().getXml(R.xml.target);
			try {
				parser.setInput(getResources().openRawResource(R.xml.target), null);
			} catch (NotFoundException e) {
				Log.e("XML_ERROR", e.getMessage());
			} catch (XmlPullParserException e) {
				Log.e("XML_ERROR", e.getMessage());
			}
			
			
			for(int e = parser.getEventType(); e != XmlPullParser.END_DOCUMENT; e = parser.next()) {
				keyword = new Keyword();
				
				
				if(e == XmlPullParser.START_DOCUMENT) {
					// ドキュメント開始
					Log.d("XML:DOC", "START");
				} else if( e == XmlPullParser.TEXT ) {
					// エレメントに囲まれている部分
					Log.d("XML:TEXT", parser.getText());
				} else if(e == XmlPullParser.START_TAG) {
					// エレメントの開始
					Log.d("XML:ELEM", "START");
					
					// エレメント名
					Log.d("XML:ELEM_NAME", parser.Name());
					
					for( int a = 0; a < parser.getAttributeCount(); a++ ) {
						// 属性情報
						Log.d("XML:ELEM_ATTR", parser.getAttributeName(a) + " = " + parser.getAttributeValue(a));
					}
				} else if(e == XmlPullParser.END_TAG) {
					// エレメントの終了
					Log.d("XML:ELEM", "END");
				}
			}
			if ( e == XmlPullParser.END_DOCUMENT ) {
				// ドキュメント終了
				Log.d("XML:DOC", "END");
			}
		} catch (NotFoundException e) {
			Log.e("XML", e.getClass().getName() + ": " + e.getMessage());
		} catch ( XmlPullParserException e) {
			Log.d( "XML", e.getClass().getName() + ": " + e.getMessage() );
			for ( StackTraceElement s : e.getStackTrace()) {
				Log.d( "TRACE", s.toString());
			}
		} catch ( IOException e) {
			Log.d( "XML", e.getClass().getName() + ": " + e.getMessage() );
		}
	}
}

No related posts.

Posted in Android, Java, モバイル
SHARE THIS Twitter Facebook Delicious StumbleUpon E-mail
« MacBook Pro 購入
» MacBook Pro 15インチ用の鞄を購入

No Comments Yet

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

中の人

名前: あのん (anon) anon
詳細

 

2010年5月
日 月 火 水 木 金 土
« 3月   6月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カテゴリー

  • Android
  • iPhone
  • Java
  • Linux
  • Mac
  • PC
  • PHP
  • Twitter
  • VOCALOID
  • イベント
  • サーバ
  • ソフトウェア
  • ネタ
  • ネット
  • モバイル
  • 無分類
  • 話題
  • 開発

アーカイブ

  • 2011年12月
  • 2011年9月
  • 2011年4月
  • 2011年3月
  • 2011年2月
  • 2011年1月
  • 2010年10月
  • 2010年8月
  • 2010年7月
  • 2010年6月
  • 2010年5月
  • 2010年3月
  • 2010年1月
  • 2009年11月
  • 2009年10月
  • 2009年8月
  • 2009年6月
  • 2009年4月
  • 2009年3月
  • 2009年2月
  • 2009年1月
  • 2008年12月
  • 2008年11月
  • 2008年7月
  • 2008年4月

最近の投稿

  • Galaxy Nexusを購入しました
  • さくらのVPSを使いながら行ったウェブサイトの3つの負荷対策
  • PSNの障害と個人情報漏洩について
  • ミクパ♪(初音ミク ライブパーティ 2011)に行ってきたよ
  • FirefoxからChromeに乗り換えてみた

最近のコメント

  • Twitterアカウント名が商標権侵害で訴えられそうになった話 に 2011年2月のこれだけ読めば分かる Web 制作者向け情報まとめ | ウェブル より
  • Twitterアカウント名が商標権侵害で訴えられそうになった話 に 2/1 (火) 前田敦子 豊胸疑惑でネット炎上(画像) | マスコミの気になるニュースをまとめ読み! より
  • Twitterアカウント名が商標権侵害で訴えられそうになった話 に クロネコ より
  • Twitterアカウント名が商標権侵害で訴えられそうになった話 に eamcet*[SEO対策調査自動更新ブログ] | とあるTwitterユーザー、商標権侵害を理由にTwitterアカウント名の変更を求められる より
  • Twitterアカウント名が商標権侵害で訴えられそうになった話 に 心は萌え より

Tweet on Twitter

EvoLve theme by Theme4Press  •  Powered by WordPress anoncom blog