Портирование кода с iOS Xcode на Android (парсинг XML SAX)

Я пытаюсь портировать приложение с iOS на Android. Я новичок в разборе XML в Android. Не могли бы вы дать мне руку?

Вот вкус моего файла XML:

<?xml version="1.0" encoding="UTF-8"?>
<items>
   <item>
    <settingA>1</settingA>
    <settingB>sunday</settingB>
    <description>HAdijoijaofijfosdifjsoidfjodsfjidsfojds</description>
   </item>
</items>

В iOS я выполняю некоторые шаги, которые включают поиск и чтение элемента, такого как:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
    attributes:(NSDictionary *)attributeDict {
    if([elementName isEqualToString:@"terms"]) {
        // Tag <terms> found, creating a list of oracoes
        self.terms= [[NSMutableArray alloc] init];
    }
    else if([elementName isEqualToString:@"term"]) {
        // Tag <term> found, creating a new Term object
        term = [[Term alloc] init];
    }
}


- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
    if([elementName isEqualToString:@"terms"])
    {

        return;
    }
    if([elementName isEqualToString:@"term"]) {

        [self.oracoes addObject:term];

        [term release];
        term = nil;
    } else {

        if(tempString != nil && term != nil){
            [oracao setValue:tempString forKey:elementName];
        }

        [tempString release];
        tempString = nil;
    }
}

// Read content
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

    NSString *s = [string stringByTrimmingCharactersInSet:[NSCharacterSet     whitespaceAndNewlineCharacterSet]];
    if(!tempString)
    {

        tempString = [[NSMutableString alloc] init];
    }

    [tempString appendString:s];
}

Может быть, весь этот код не имеет значения... но в любом случае... с чего мне начать? Есть ли какая-либо прямая, чтобы поместить эту информацию XML в список, массив?

Спасибо!

2 ответа

Решение

Я ненавижу, когда люди отвечают таким образом, но....

Недавно я столкнулся с той же ситуацией, когда мне нужно было создать версию приложения для iphone для Android. Вместо того, чтобы выбирать один из методов разбора android zillion, я использовал фреймворк, который немного абстрагировал его. Если лицензия Apache не является проблемой, я настоятельно рекомендую это.

Простой XML отобразит xml на ваши объекты.

Вы можете использовать xmlpullparser довольно легко сделать. Перейдите по ссылке ниже, в ней есть пример кода http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

Другие вопросы по тегам