2014-03-06 5 views
1

Xcode의 간단한 XML 문서를 JSON으로 변환하려고합니다. 문제는 계속 nil을 반환하는 것입니다.XML에서 iOS로 JSON 변환

NSURL *url = [[NSURL alloc] initFileURLWithPath:@"http://www.w3schools.com/xml/note.xml"]; 
NSData *xmlData = [[NSData alloc] initWithContentsOfURL:url]; 

NSError *parseError = nil; 
NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLData:xmlData error:&parseError]; 


NSError *error; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:xmlDictionary 
                options:NSJSONWritingPrettyPrinted 
                error:&error]; 
NSLog(@"%@", jsonData); 

오류 메시지 : rmaddy 말했듯이

[NSJSONSerialization dataWithJSONObject:options:error:]: value parameter is nil' 
+3

분명히 'xmlDictionary'는'nil'입니다. 이유를 보려면'parseError'를 기록하십시오. – rmaddy

+0

[NSJSONSerialization dataWithJSONObject : options : error :] : 여전히 값 매개 변수가 없습니다. ' – user3258468

+1

오해. 'xmlDictionary'는'nil'입니다. 이것은'dictionaryForXMLData : error :'에 대한 호출이'nil'을 리턴한다는 것을 의미합니다. 'dictionaryForXMLData : error :'에 대한 호출에서'parseError'를 로그 할 때 당신은 무엇을 얻게됩니까? – rmaddy

답변

0

, parseError을 인쇄 해보십시오

이 내 코드입니다. parseError가 Nil이면 xmlDictionary를 인쇄하고 사전이 올바르게 작성되었는지 확인하십시오.

xmlDictionary도 Nil이면 xmlData를 검사하십시오.이 경우 어떤 조건을 검사하는 경우 dictionaryForXMLData 메서드를 확인해야합니다.

희망이 있습니다.

+0

xmlDictionary는 (null)을 반환합니다. xmlData는 null을 반환합니다. 나는 그것이 xmlData를 가진 무엇인가라고 생각한다? – user3258468

+1

xmlData가 Nil 인 경우 아래 메서드에서 NSData를 초기화하십시오. [NSData dataWithContentsOfURL : [NSURL URLWithString : @ "http : //www.w3schools.com/xml/note.xml"]] – anirudh

+0

은 여전히 ​​null을 반환합니다. 그것은 이상한 ... – user3258468

관련 문제