NSXMLParser - разбирает XML-файл, но он показывает результаты дважды - PullRequest
1 голос
/ 14 сентября 2011

Я пытаюсь разобрать XML-файл в NSMutableArray и показать его в виде таблицы.Проблема в том, что когда он анализирует, он добавляет в 2 раза результаты анализа в NSMutableArray.Это приводит к тому, что табличное представление показывает результат дважды.(2 строки в табличном представлении)

Мой вопрос: как я могу показать один результат вместо двух одинаковых результатов?

XML-файл:

 <something>test1234567test</something>

Код:

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

{   if([currentElement isEqualToString:@"something"])

    [currentname appendString:string];
    [mutarray_xml addObject:currentname];
}

я пробовал:

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
   if([currentElement isEqualToString:@"something"])
   {
      [currentname release];
   }
}

но он показывает:

test1234567test

test1234567test

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Этот пост на ранчо Big Nerd многому научил меня при использовании NSXMLParser для анализа XML.

0 голосов
/ 14 сентября 2011

Для правильного синтаксического анализа вам также необходимо реализовать метод didStartElement. Вы не должны добавлять что-либо в свой изменяемый массив в методе foundCharacters - вы должны только добавлять что-либо в массив в методе didEndElement, поскольку этот метод указывает, что все содержимое элемента прочитано.

...