iphone的nsxmlparser解析RSS会导致编码问题
问题描述:
我正在使用simle RSS阅读器。此阅读器通过此代码从互联网加载数据:iphone的nsxmlparser解析RSS会导致编码问题
NSXMLParser *rss = [[NSXMLParser alloc] initWithURL:[NSURL URLWithString:@"http://twitter.com/statuses/user_timeline/50405236.rss"]];
我的问题是编码。根据XML文件中的编码属性,RSS 2.0文件应该是UTF8编码的。 Łš^ T旋转Z Y A I E等
我试图解决:
<?xml version="1.0" encoding="utf-8"?>
所以当我下载的网址内容我得到的文本字符的第一次出现用变音符号,例如截断后通过下载URL作为UTF8字符串的问题,我用这个代码:
NSString *rssXmlString = [NSString stringWithContentsOfURL: [NSURL URLWithString: @"http://www.macblog.sk/rss.xml"] encoding:NSUTF8StringEncoding error: nil];
NSData *rssXmlData = [rssXmlString dataUsingEncoding: NSUTF8StringEncoding];
没有帮助。感谢您的回应。
答
退房MWFeedParser on GitHub,它是我发布的一个开源的RSS/Atom提要解析器,它使得阅读和解析Web提要变得非常简单。
还有一个简单的演示应用程序,它显示了它的实现是多么容易。
希望这可能有些用处!
+0
嗨迈克尔谢谢你的提示。但现在即时通讯使用Three20框架,并有解析器内置.. – 2010-07-28 11:22:55
所以我自己解决了这个问题。所以问题出现在这个方法解析器中:foundCharacters :,我不得不更详细地阅读文档: 解析器对象可能会发送委托给几个解析器:foundCharacters:messages来报告元素的字符。由于字符串可能只是当前元素的总字符内容的一部分,因此您应该将其附加到当前字符累积,直到元素更改。 – 2010-04-16 16:23:26