【问题标题】:xml parsing problem in iPhoneiPhone中的xml解析问题
【发布时间】:2010-01-11 10:42:58
【问题描述】:

我有这个中文 xml 提要,NSXLParsers 无法解析。解析时出现错误 31。

由于文档编码未知而发生错误 31。

我尝试了 UTF-8 和 ascii 编码来转换通过

呈现的字符串
[NSString stringwithContentsOfURL:@"http://news.baidu.com/n?cmd=4&class=finannews&tn=rss"]

对应的格式。

任何人都可以阐明如何解析用其他语言编写的 XML 提要。

提前感谢

【问题讨论】:

    标签: iphone xml parsing


    【解决方案1】:

    尝试使用调试

    - (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError {
        NSString * errorString = [NSString stringWithFormat:@"Unable to download story feed from web site (Error code %i )", [parseError code]];
        NSLog(@"error parsing XML: %@", errorString);
    
        UIAlertView * errorAlert = [[UIAlertView alloc] initWithTitle:@"Error loading content" message:errorString delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [errorAlert show];
    }
    

    帮助判断是xml问题还是编码方式问题

    【讨论】:

      【解决方案2】:

      答案是提要的第一行

      <?xml version="1.0" encoding="gb2312"?>
      

      然后阅读gb2312

      【讨论】:

        【解决方案3】:

        由于文件是用GB2312编码的,你应该提供一个编码

        [NSString stringWithContentsOfURL:@"http://..."
                                 encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_2312_80)
                                    error:NULL];
        

        【讨论】:

        • 发生可可错误 261。由于字符串编码不适用,读取错误导致此错误。
        • 可能是kCFStringEncodingGB_18030_2000 或kCFStringEncodingGBK_95。
        猜你喜欢
        • 2012-09-28
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 2012-05-12
        • 1970-01-01
        • 1970-01-01
        • 2012-08-01
        相关资源
        最近更新 更多