2012-08-23 13 views
0

저는 xcode를 처음 사용합니다 .. XML에서 데이터를 가져 오는 것에 대해 배우고 싶습니다. 이것은 제가 며칠 동안 갇혀 있었던 초안 코드입니다. XML 목록을 표시 할 수 있습니다. 코드특정 데이터 가져 오기

는 는

XML 코드 : 그러나

<find> 
<set_number>038881</set_number> 
<no_records>000138874</no_records> 
<no_entries>000007000</no_entries> 
</find> 

, 지금은이 XML에서 단지 SET_NUMBER를 검색에 어려움이 ... URL은 내가 인해 기밀 목적 .. 그래서에 대한 마음을 해달라고에 비어있다 마지막 두 코드는 강제로 내 응용 프로그램을 만들었습니다 .. 도와주세요 !!

내가 대신 하단에이 코드를 추가하려고
NSString *URL = [NSString stringWithFormat:@""]; 

NSMutableData *receivedData = [[[NSMutableData alloc] initWithContentsOfURL:[NSURL URLWithString:URL] ]autorelease];    
NSString *theRecord = [[[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding] autorelease]; 

    NSString *path = [theRecord valueForKey: @"set_number"]; 
    NSLog(@"File Data: %@", path);  

..

if ([theRecord isEqualToString:@"no_records"]){ 

     NSLog(@"Contents of URL: %@", theRecord); 
} 

그런 다음 나는 또한 .. 표시 없음 오류를 내 코드를 디버깅없는 노력은 .. 대신 그들은 출력 0을 표시합니다. 내 no_records가 정수이기 때문에 궁금해합니다? 하지만 나는 레코드를 문자열로 지정했습니다. 왜 그들이 couldnt 디스플레이입니까?

내가 대신 하단에이 코드를 추가하려고

..

`if ([theRecord isEqualToString:@"no_records"]){ 

     NSLog(@"Contents of URL: %@", theRecord); 
}` 

그런 다음 나는 또한 .. 표시 없음 오류를 내 코드를 디버깅없는 노력은 .. 대신 그들은 출력 0을 표시합니다. 내 no_records가 정수이기 때문에 궁금해합니다? 하지만 나는 문자열로 레코드를 할당했습니다. 왜 그들이 couldnt 디스플레이입니까 ?? 도와주세요!!

+0

답이 아닙니다. NSLOG를 시도하기 전에 반드시 경로를 정의해야합니다. –

+0

Yeap !! 내가 그 실수를 예견 할 때까지 질문을 게시하기를 열망했다! 이미 편집했습니다! 감사합니다 리처드 (: – Sahara

+0

내가 아래의 마지막 두 코드를 했어이 오류가있어 ... 잡히지 않은 예외 'NSUnknownKeyException'이유로 애플 리케이션을 종료 : '[<__ NSCFString 0x887d000> valueForUndefinedKey :] :이 클래스는 키 값을 코딩하지 않습니다 - 이게 무슨 뜻인지 모르겠다. 아무도 나에게 이것을 설명 할 수 있습니까? – Sahara

답변

0

XML을 구문 분석하려면 NSXMLParser 클래스를 사용하십시오.

+0

나는 initWithData를 사용한다고 가정합니까? – Sahara

+0

또는 귀하의 경우에는 코드를 단순화하기 위해 initWithContentsOfURL을 사용하십시오 .See http : //www.codeproject.com/Articles/248883/Objective-C-Fundamentals-NSXMLParser를 참조하십시오. –

0

NSString * path = [theRecord valueForKey : @ "set_number"];

theRecord는 valueForKey를 사용할 수없는 NSString 인스턴스입니다. 먼저 XML 문자열을 구문 분석하고 태그에서 원하는 내용을 가져와야합니다. 또는 문자열에 하위 문자열을 가져와야합니다.

관련 문제