0

在我的应用程序中解析 XML 时,我在 XML 解析器的 foundcharacters 委托中有一个字符串。实际的字符串是“Aoyama-itchōme Station”,但是当我应用编码时,我将它作为“ōme Station”。字符串的第一部分丢失。我尝试了不同的编码,但对我没有任何效果。有谁知道是什么原因?

这是我的代码:

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    if(titleFlag)
    {
       if(string)
       {
           objPlace.title   =   [string stringByReplacingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
       }
    }
 }
4

1 回答 1

1

'Aoyama-itch ōme Station ' 是字符串,你得到的是' ōme Station '。

我猜在解析字符串时会在初始解析中获得第一部分“Aoyama-itch”和第二部分“ōme Station”。您正在做的是将其设置为标题。

所以在解析器找到字符时的初始解析......

self.title = @"Aoyama-itch";

在第二组可用性中......

self.title = @"ōme Station";

这就是你所看到的。因此,将 title 对象设为 NSMutableString 对象。

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
   if(self.title==nil)
   {
      self .title = [[[NSMutableString alloc] init] autorelease];
   }
   [self.title appendString:<parsed Charachters>];
}
于 2012-05-08T06:16:09.473 回答