1

Web サービスから返された xml データを解析して、サーバーから値を取得しようとしています。

解析に使用されるコードは以下のとおりです

-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
    rValue= @"";
    isTag = FALSE;
    if ([elementName caseInsensitiveCompare:@"BusinessName"] == NSOrderedSame)
        isTag=YES;

}


-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)strin{
if (isTag) {
        rValue =strin;
    }
}

-(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{

    if([elementName caseInsensitiveCompare:@"BusinessName"] == NSOrderedSame)
        [myarray addObject:rValue];
}

-(void) parserDidEndDocument:(NSXMLParser *)parser
{
    NSLog(@"%@",myarray);
}

rValue静的文字列です。

配列を印刷すると、次のようになります。

(
"Book Store",
"Birch river grill",
PIC,
"Drink Juice",
"Cofee Cafee",
"Diag Block",
"Delici Store",
"\n\n",
"Spoon Fork",
"\n",
"\n\n",
"\n\n\n",
Allow,
"Enjoy Traveling",
"Grwing Three",
"\n",
"\n\n"
)

値 (BusinessName) の代わりに \n (バックスラッシュ) が発生するのはなぜですか?、ブラウザーで Web サービスを確認したところ、値は正しく返されています。全部で 17 個の要素が返され、二重引用符なしでログに出力された文字列の一部を確認できます。それは問題ではありません。しかし、なぜそのように見えるのでしょうか。バックスラッシュの代わりに正しい値を取得するにはどうすればよいですか。

  • 私は何を間違っていますか?
  • これを解決する方法は?
4

1 に答える 1