0
<events>
        <status>OK</status>
        <name>20121203</name>
        <descripcion></descripcion>
        <url_IOS></url_IOS>

        <printers>
            <coordenadas_LAT>40.44702054203392</coordenadas_LAT>
            <coordenadas_LON>-3.703991174697876</coordenadas_LON>
        </printers>

        <printers>
            <coordenadas_LAT>40.448416693004596</coordenadas_LAT>
            <coordenadas_LON>-3.7036800384521484</coordenadas_LON>
        </printers>

    </events>

==== こんにちは、私はこの XML を持っており、そのように解析しています:

 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
    {
        // the start of a 'booth' element is been encountered
        if([elementName isEqualToString:@"events"])
        {
            self.tmpEvent = [[PublicPrivateEvent alloc] init];
        }

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

        currentElementValue = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    }
    - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
    {
       if ([elementName isEqualToString:@"coordenadas_LAT"]) {

                tmpEvent.latitude =currentElementValue;
        }
        if([elementName isEqualToString:@"coordenadas_LON"])
        {
            tmpEvent.longtitude = currentElementValue ;

        }
        if([elementName isEqualToString:@"description"])
        {
            tmpEvent.description = currentElementValue;

        }

        if([elementName isEqualToString:@"url_IOS"])
        {
            tmpEvent.imgurlios6 = currentElementValue;

        }

        if([elementName isEqualToString:@"printers"])
        {

            [printers addObject:tmpEvent];
             currentElementValue = nil;
        }
        if([elementName isEqualToString:@"status"])
        {
            [events addObject:tmpEvent];
            currentElementValue = nil;
        }

    }

=== 私は 2 台のプリンターを持っていますが、この 2 つの座標を取得しようとすると、最後の座標のみを 2 回取得しますか? 何が問題ですか。どこが間違っていますか?前もって感謝します..

4

1 に答える 1