Cómo limitar el análisis XML en iPhone
-
19-09-2019 - |
Pregunta
Soy nuevo en el desarrollo del iPhone .I quieren analizar un URL de la imagen desde un archivo XML y mostrarlo en un RSS feed.There son tres URL de la imagen, pero quiero recuperar sólo una url y lo mostrará.
<entry>
<id>xxxxx</id>
<title>xxx xxxx xxxx</title>
<content>xxxxxxxxxxx</content>
<media:group>
<media:thumbnail url="http://tiger.jpg"/>
<media:thumbnail url="http://lion.jpg"/>
<media:thumbnail url="http://elephan.jpg"/>
</media:group>
</entry>
para analizarlo
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
currentElement = [elementName copy];
if ([elementName isEqualToString:@"entry"]) {
entry = [[NSMutableDictionary alloc] init];
currentTitle = [[NSMutableString alloc] init];
currentDate = [[NSMutableString alloc] init];
NSLog(@"inside image1 ");
}else if([elementName isEqualToString:@"media:thumbnail"])
{
NSString* myUrl = [NSString stringWithString:[attributeDict objectForKey:@"url"]];
}
}.
Quiero recuperar sólo tigre imagen.Por ayudarme out.Thanks.
Solución
En este caso perticular podría establecer una variable de clase en lugar del actual myURL local y una vez que obtener un valor en ella. En el código de abajo Esto asume que nunca inicializar myURL en cualquier otro lugar.
if (myURL == nil)
myUrl = [attributeDict objectForKey:@"url"];
Sin embargo, esto sólo funcionará de la forma esperada si siempre desea que la primera URL en miniatura. A menos que tenga algún tipo de garantía (que no has mencionado) que siempre se desea que la primera URL a continuación, en realidad no hay nada que puede hacer para atrapar a los casos en que no desea que la primera URL ya que todas las etiquetas de direcciones URL en miniatura y los atributos son los mismos para guardar la URL.