i不能解析xml文件
最初,我将解析器声明为:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"download.rss" withExtension:@"webintents"];
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
解析时,我遇到错误
NSXMLPARSERERRORDOMAIN错误9
我检查是NSXMLPARSERINVALIDCHARACTERERROR。
解析器通过多个标签运行并在标签上遇到错误。
然后,我将声明更改为迭代编码为:
NSError *errorOfStr = nil;
NSStringEncoding encoding;
NSString *xmlFeedStr = [NSString stringWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"download.rss" withExtension:@"webintents"] usedEncoding:&encoding error:&errorOfStr];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:[xmlFeedStr dataUsingEncoding:encoding allowLossyConversion:YES]];
但是,我在初始化变量" XMLFEEDSTR"时会遇到错误。检查" errorofstr",我看到eror:
可可错误264
我检查,是nsfilereadunknowningencodingerror
之后,我试图强制一些编码为NSUTF8STRINGENCODING或NSUNICODESTRINEDENCODENG,如下:
:NSStringEncoding encoding = NSUnicodeStringEncoding;
NSString *xmlFeedStr = [NSString stringWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"download.rss" withExtension:@"webintents"] encoding:encoding error:&error];
,但没有成功。我遇到了一些可可错误,因为不能加载没有内容的文件或加载文件。
请帮助我?
我将文件放在:
http://www.mediafire.com/download.php?yxfp3ch8n3ai4iq
标签"内容:编码"中的某个问题。请使用以下代码:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSLog(@"Application Did Finish Launching");
NSString *dataString = [[[NSString alloc] initWithContentsOfFile:@"/Users/alex/Downloads/download.rss.webintents" encoding:NSASCIIStringEncoding error:nil] autorelease];
NSData *data = [dataString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
[parser setDelegate:self];
[parser parse];
[parser release];
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
NSLog(@"Did Start Element: %@", elementName);
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
NSLog(@"Found Characters: %@", string);
}
- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
{
NSString *someString = [[NSString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
NSLog(@"Found CDATA: %@", someString);
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"Did End Element: %@", elementName);
}
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
NSLog(@"Parser Did End Document");
}
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{
NSLog(@"Parse Error Occurred: %@", parseError.description);
}