我被一些TouchXML代码卡住了。请帮帮忙。
我使用以下代码从xml get服务获取数据:
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) 发布于 2009-12-31 02:03:40
TouchXML's documentation说,CXMLDocument应该像NSXMLDocument一样行事。因此,reference for initWithData:options:error:可能会有所帮助。
它说,如果不成功,结果将是nil,然后error将包含更多信息。是nil吗?
您可能会考虑暂时使用NSXMLDocument,看看它们是否真的具有相同的行为。如果他们没有,就向TouchXML提交一个bug。
您还可以将 initWithXMLString:options:error:与已经解码的字符串一起使用。
编辑:更好。下面是使用NSXMLDocument的example code。从理论上讲,它也应该适用于CXMLDocument。
https://stackoverflow.com/questions/1981461
复制相似问题