2011-06-23 8 views
0

私は、XMLファイルhttp://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTimeから読み込んでイベントが有効かどうかを判断しています。iPhone NSXMLブール値のパーサー

これはブール結果を返しますが、objective-cを使用してアクセスする方法を理解できません。これは私がこれまで持っているものです。

NSError * error = nil; 
NSString * responseString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTime"] encoding:NSUTF8StringEncoding error:&error]; 
NSLog(responseString); 
if (error) { 
    NSLog(@"%@", [error localizedDescription]); 
} 

if ([responseString isEqualToString:@"true"]) { 
    // Handle active content. 
    NSString *baseVideoUrl = @"http://streaming5.calvaryccm.com:1935/live/iPhone/playlist.m3u8"; 
    NSLog(@" finalUrl is : %@",baseVideoUrl); 

    MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:baseVideoUrl]]; 

    if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)]) { 
     // Use the 3.2 style API 
     moviePlayer.controlStyle = MPMovieControlStyleDefault; 
     moviePlayer.shouldAutoplay = YES; 
     [self.view addSubview:moviePlayer.view]; 
     [moviePlayer setFullscreen:YES animated:YES]; 
    } 

} else { 
    // Inform user that the content is unavailable 
    UIAlertView *alert = [[UIAlertView alloc] 
          initWithTitle: @"Live Service" 
          message: @"There is no service going on at this time" 
          delegate: nil 
          cancelButtonTitle:@"OK" 
          otherButtonTitles:nil]; 
    [alert show]; 
    [alert release]; 
} 
+0

のような軽量XMLソリューションを使用することができますか? – Anna

+0

操作を完了できませんでした。 (Cocoa error 256.) –

答えて

1

まず、あなたのNSLog文は次のようになります。これは、適切に応答文字列をログアウトします

NSLog(@"%@", responseString); 

私はちょうどそれを試してみました(、あなたは当時、この値を取得します):

<?xml version="1.0" encoding="utf-8"?> 
<boolean xmlns="http://tempuri.org/">false</boolean> 

応答文字列は、完全修飾XML文字列表現であるため、trueとは異なります。文字列を検索する必要があります。文字列に "true"または "false"が含まれているかどうかを調べることでこれを行うことができます。

NSRange range = [responseString rangeOfString : @"true"]; 

if (range.location != NSNotFound) { 
    //String contained true 
} 

また、あなたはresponseStringにどのような価値を取り戻すしているGDataXMLNode

+0

それは働いた!ご協力ありがとうございました! –