Помоги мне разобрать - PullRequest
0 голосов
/ 02 июля 2011

Я использую класс, написанный блогером , который принимает строку XML и выплевывает NSDictionary.

Это прекрасно ... работает отлично,но мой тег не анализируется.так как в этом классе он использовал как показано ниже

NSString *const kXMLReaderTextNodeKey = @"text";

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

    // Update the parent dict with text info
    NSMutableDictionary *dictInProgress = [dictionaryStack lastObject];

    // Set the text property
    if ([textInProgress length] > 0)
    {
        [dictInProgress setObject:textInProgress forKey:kXMLReaderTextNodeKey];



        // Reset the text
        [textInProgress release];
        textInProgress = [[NSMutableString alloc] init];
    }

    // Pop the current dict
    [dictionaryStack removeLastObject]; }

Пожалуйста, помогите мне, как это исправить ...

Большое спасибо

1 Ответ

2 голосов
/ 02 июля 2011

Примечание. Убедитесь, что анализируемый XML-файл не содержит поле с именем «текст»!Вы можете изменить его на неконфликтующее имя, отредактировав константу kXMLReaderTextNodeKey в верхней части XMLReader.m.

Это есть на веб-сайте BLOGGER.В файле XMLReader.m у вас есть NSString *const kXMLReaderTextNodeKey = @"text";, который конфликтует с вашим тегом xml <text>, поэтому либо измените тег поля xml с <text> на что-либо еще, либо

измените NSString *const kXMLReaderTextNodeKey = @"text";

NSString *const kXMLReaderTextNodeKey = @"textdata";

После этого используйте NSDictionary в качестве обычного кода.Проверьте это и дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...