touchxml -cxmldocumentオブジェクトは初期化に失敗しました
-
22-09-2019 - |
質問
TouchXMLコードにこだわっています。助けてください。
XML Webサービスからデータを取得するための次のコードがあります。
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)
解決
TouchXMLのドキュメント それは言う CXMLDocument
同じように行動する必要があります NSXMLDocument
. 。だから、 の参照 initWithData:options:error:
役立つかもしれません。
結果はそうなると言います nil
失敗した場合 error
その後、より多くの情報が含まれます。それは...ですか nil
?
使用を検討する場合があります NSXMLDocument
今のところ、彼らが本当に同じように行動するかどうかを確認します。そうでない場合は、TouchXMLでバグを提出します。
使用することもできます initWithXMLString:options:error:
その文字列に加えて、すでにデコードされています。
編集:さらに良い。これがそうです 例コード 使用するため NSXMLDocument
. 。理論的には、それは機能するはずです CXMLDocument
同じように。
所属していません StackOverflow