2009-12-30 4 views
0

일부 TouchXML 코드가 있습니다. 도와주세요.TouchXML - CXMLDocument 객체를 초기화하지 못했습니다.

내가는 XML 웹 서비스에서 데이터를 얻을 수있는 다음과 같은 코드를 가지고 :

NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 


NSString *data = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]; 

NSLog(@"String data: %@ \n", data); 

//Do the parsing 

CXMLDocument *document = [[[CXMLDocument alloc] initWithData:urlData encoding:NSUTF8StringEncoding options:0 error:&error] autorelease]; 
NSLog (@"Document :%@ \n",[document stringValue]); 

문자열 데이터 서비스에서 콘텐츠를 가지고 있지만, 어떻게 CXMLDocument 객체가 아무것도 포함하지 않는 거지? 누군가 왜 저를 말할 수 있습니까?

2009-12-30 18:21:59.467 MyAdvancedBlog[3425:207] String data: <?xml version="1.0" encoding="utf-8"?> 

<Post xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> 
    <IdPostazione>42</IdPostazione> 
    <StringID>HOANG</StringID> 
    <Name>CASSA2</Name> 
    <TerminalValid>true</TerminalValid> 
    <NeedSession>false</NeedSession> 
</Post> 

2009-12-30 18:21:59.469 MyAdvancedBlog[3425:207] Document :(null) 
+0

통화 후'error' 값은 무엇입니까? 0이 아닌 경우 올바른 방향으로 가리킬 수 있습니다. –

+0

오류 : (null) : -s –

답변

2

TouchXML's documentationCXMLDocument 그냥 NSXMLDocument처럼 행동해야한다고 말한다. 따라서 reference for initWithData:options:error:이 도움이 될 수 있습니다.

성공하지 못하면 결과는 nil이며, error은 더 많은 정보를 포함합니다. nil입니까?

잠시 동안 NSXMLDocument을 사용하여 실제로 동일한 행동을하는지보십시오. 그렇지 않은 경우 TouchXML로 버그를 신고하십시오.

이미 해독 한 문자열과 함께 initWithXMLString:options:error:을 사용할 수도 있습니다.

편집 : 더욱 좋습니다. NSXMLDocument을 사용하는 경우 example code입니다. 이론 상으로는 CXMLDocument에서도 작동합니다.

+0

안녕하세요 Kevin, NXMLDocument는 설명서에서 말하는대로 iPhoneOS에서 사용할 수 없습니다. Foundation 프레임 워크는 NSXMLParser 클래스를 통한 XML 구문 분석을 지원합니다. 그러나 다른 XML 구문 분석 클래스 (NSXMLDocument, NSXMLNode 및 NSXMLElement 포함)는 iPhone OS에서 사용할 수 없습니다. NSXMLParser 클래스 외에도 C 기반 XML 구문 분석 인터페이스를 제공하는 libXML2 라이브러리를 사용할 수 있습니다. –

+0

나는 initWithXMLString을 이미 시도했지만 운이 없으면 같은 nil 객체를 제공한다. –