忍者ブログ

初心者が進めるiphoneアプリ開発

Macもiphoneすらもよく使ったことのない超初心者がお送りする、iphoneアプリの作り方の解説です。難しいことは抜きにしてとにかく動かしてみましょう。


×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



導入が済んだら実際に使ってみましょう。デバッグ用のコンソール画面にサーバから取得したxmlファイルの内容を表示する例を書きます。

まず「TestViewController.h」のような、実際に呼び出すファイルのヘッダに「DDXMLDocument.h」をインポートします。
#import "DDXMLDocument.h"

@interface TestViewController : UIViewController {
・・・・・


読み込むxmlファイルは以下のような内容です。このファイルを「utf-8」の文字コードで作り、サーバに設置します。サーバはxmlファイルが設置できれば無料サーバで十分です、ちょっと借りて実験しましょう。
<?xml version="1.0" encoding="utf-8"?>
<channel>
	<item>
		<title>今日の売れ筋アプリ</title>
		<link>http://damy0912.damy.jp/damy/f0003.html</link>
		<pubDate>2011 07 07 18:45:05</pubDate>
	</item>
	<item>
		<title>今日の注目アプリ</title>
		<link>http://damy0912.damy.jp/damy/f0002.html</link>
		<pubDate>2011 07 05 11:41:22</pubDate>
	</item>
	<item>
		<title>今日の(´・ω・`)アプリ</title>
		<link>http://damy0912.damy.jp/damy/f0001.html</link>
		<pubDate>2011 07 02 22:15:35</pubDate>
	</item>
</channel>



このxmlファイルの構造は上のようになっています。


xmlファイルの内容を取得して配列に格納して返す関数は以下のようになります。
- (NSMutableArray *)getXml{
    
    //xmlファイルの場所の設定
    NSURL *urlString=[NSURL URLWithString:@"http://!サーバの場所!/test.xml"];
    NSData *data=[NSData dataWithContentsOfURL:urlString];
    
    //返すデータの配列を作成・初期化
    NSMutableArray *aryRet=[[NSMutableArray alloc]initWithCapacity:0];
    
    //xmlファイルを取得
    DDXMLDocument *doc=
    [[DDXMLDocument alloc]initWithData:data options:0 error:nil];
    
    //要素を抜き出す時のルートパスの設定
    DDXMLElement *root=[doc rootElement];
    NSArray *items=[root nodesForXPath:@"/channel/item" error:nil];
    
    //高速列挙を使用してfor文を回す
    for (DDXMLElement *item in items) {
        
        //ルートパス以下の要素名を指定
        NSArray *titleArray=[item nodesForXPath:@"title" error:nil];
        NSArray *linkArray=[item nodesForXPath:@"link" error:nil];
        NSArray *dateArray=[item nodesForXPath:@"pubDate" error:nil];
        
        //バッファ用配列
        NSMutableArray *tmpAry=[[NSMutableArray alloc]initWithCapacity:0];
        
        //ルートパス以下の要素を得る、配列型で来るのでNSString型に変換
        [tmpAry addObject:[[titleArray objectAtIndex:0]stringValue]];
        [tmpAry addObject:[[linkArray objectAtIndex:0]stringValue]];
        [tmpAry addObject:[[dateArray objectAtIndex:0]stringValue]];
        
        //戻す配列に格納、バッファ用配列は格納後リリース
        [aryRet addObject:tmpAry];
        [tmpAry release];
    }
    
    //xmlファイルをリリース
    [doc release];
    
    //取得データを返す
    return aryRet;
}


これを実行してデバッグ用のコンソール画面に表示します。

ヘッダで宣言
- (NSMutableArray *)getXml;

実行
NSMutableArray *mar=[[NSMutableArray alloc]initWithCapacity:0];
mar=[self getXml];

//item項目1つ目
NSLog([[mar objectAtIndex:0] objectAtIndex:0]);
NSLog([[mar objectAtIndex:0] objectAtIndex:1]);
NSLog([[mar objectAtIndex:0] objectAtIndex:2]);

//item項目2つ目
NSLog([[mar objectAtIndex:1] objectAtIndex:0]);
NSLog([[mar objectAtIndex:1] objectAtIndex:1]);
NSLog([[mar objectAtIndex:1] objectAtIndex:2]);

//item項目3つ目
NSLog([[mar objectAtIndex:2] objectAtIndex:0]);
NSLog([[mar objectAtIndex:2] objectAtIndex:1]);
NSLog([[mar objectAtIndex:2] objectAtIndex:2]);



実行結果はこうなります、取得成功です。


PR
コンテンツ
Macintosh初心者の館
Xcode and iOS SDKのインストール
簡単なアプリ「Hello World」を作成1
簡単なアプリ「Hello World」を作成2
簡単なアプリ「Hello World」を作成3
簡単なアプリ「Hello World」を作成4
デバッグ用にログを取る(NSLog)
文字列を操作する(NSString)
文字列の比較と検索(NSString)
文字列を数値などに変換する(NSString)
アラートの表示(UIAlertView)
配列の生成とautorelease(NSArray)
固定配列へのアクセス(NSArray)
可変な配列の生成と操作(NSMutableArray)
要素とキーを対で持つ配列(NSDictionary)
戻り値の扱い方
タイマー(NSTimer)を使用する1
タイマー(NSTimer)を使用する2
タイマー(NSTimer)を使用する3
時間を取得して計測に使う(NSDate)
iPhoneアプリのファイル操作
Text Fieldの使い方1(UITextField)
Text Fieldの使い方2(UITextField)
Text Fieldの使い方3(UITextField)
TextView(UITextView)の使い方1
PickerViewの使い方(UIPickerView)
テーブル(UITableView)の使い方1
テーブル(UITableView)の使い方2
テーブル(UITableView)の使い方3
ナビゲーションバーの使い方1
ナビゲーションバーの使い方2
ナビゲーションバーにビューを追加する1
ナビゲーションバーにビューを追加する2
ナビゲーションバーにビューを追加する3
XMLファイルを読み込む1
XMLファイルを読み込む2
XMLファイルを読み込む3
にほんブログ村 IT技術ブログ iPhoneアプリ開発へ
スポンサード リンク
忍者ブログ [PR]

Template by decoboko.jp