Verstuurd vanaf mijn iPhone
> Op 24 nov. 2014 om 04:13 heeft Keary Suska <cocoa-...@esoteritech.com> het > volgende geschreven: > >> On Nov 23, 2014, at 11:06 AM, Diederik Meijer | Ten Horses >> <diede...@tenhorses.com> wrote: >> >> I am having trouble getting useful data from this url on some, but not all, >> iOS devices:https://www.taxpublications.deloitte.co.uk/tis/dtp.nsf/pub1.xml >> >> The feed has this opening tag: <?xml version="1.0" encoding="ISO-8859-1" ?> >> >> When I just pull in the feed’s contents using a NSURLConnection, it will >> show up on some, but not all, devices. >> >> When I try to log the response data, by creating a string that I init with >> the downloaded data and NSUTF8StringEncoding, the log will show a null >> string. So putting the downloaded data into a string using UTF8 doesn’t work. >> >> NSString *dataString = [[NSString alloc] initWithData:self.dataContainer >> encoding:NSUTF8StringEncoding]; > > The above code is wrong in your case. The second parameter must be the > encoding that the characters are currently in, not the encoding you want > NSString is--at least outwardly--encoding-agnostic. It doesn't care what you > feed into it, it will always spit out UTF8 unless you specify otherwise. Agreed > >> Still, in that case, some devices will show the parsed feed, some won’t. > > Separating the erros in your debugging attempts vs what might actually be > happening is more useful at the moment. Agreed, but I have no clear errors > >> I tried converting the data into NSISOLatin1 and then putting it back into >> NSData using UTF8, as below, but that doesn’t help. > > This would be entirely pointless, as the XML parser shouldn't care what > character encoding is used, as long as it is declared. UTF8 is magical for > the parser. > >> -(void)connectionDidFinishLoading:(NSURLConnection *)connection { >> NSString *dataString = [[NSString alloc] initWithData:self.dataContainer >> encoding:NSISOLatin1StringEncoding]; > > This line is the proper way to convert the data into a string. You can then > NSLog() with impunity. I would also include the data length, just to make > sure that a nil result is not due to empty or nil data. > Will try this, thanks >> [self setDataContainer:[[dataString >> dataUsingEncoding:NSUTF8StringEncoding] mutableCopy]]; >> self.xmlItems = [NSMutableArray array]; >> NSXMLParser *parser = [[NSXMLParser alloc] >> initWithData:self.dataContainer]; >> [parser setDelegate:self]; >> [parser parse]; >> } >> >> >> I validated the feed’s XML and got no errors.. > > HTH, > > Keary Suska > Esoteritech, Inc. > > > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com