0

私のアプリケーションでは、XMLを解析しているときに、XMLパーサーのfoundcharactersデリゲートに文字列があります。実際の文字列は「青梅駅」ですが、エンコードを適用すると「青梅駅」になります。文字列の最初の部分が失われます。別のエンコーディングを試しましたが、何も機能しませんでした。誰かが原因について考えていますか?

これが私のコードです:

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

1 に答える 1

1

「青山かゆみ青梅駅」は、「青梅駅」という文字列です

文字列を構文解析するとき、最初の構文解析で最初の部分「青山かゆみ」を取得し、2番目の部分「青梅駅」を取得していると思います。あなたがしているのは、それをタイトルに設定することです。

したがって、パーサーが文字を見つけたときの最初の構文解析では...

self.title = @"Aoyama-itch";

と可用性の2番目のセットで...

self.title = @"ōme Station";

それがあなたが見ているものです。したがって、タイトルオブジェクトを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 に答える