Estoy aprendiendo a usar la API NSXMLParser
para la plataforma iOS y hasta ahora es muy fácil de usar. Tengo un pequeño problema, sin embargo, en el método foundCharacters. Según lo entiendo, no debería recoger ningún espacio en blanco ya que se supone que el método foundIgnorableWhitespace
capte eso, pero parece que sí lo está. Aquí está el código de mi ...¿Por qué NSXMLParser está recogiendo este espacio en blanco en el método foundCharacters?
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
//We're at the start of a new data feed
if([elementName isEqualToString:@"data"])
{
if(listOfTimes != nil)
[listOfTimes release];
listOfTimes = [[NSMutableArray alloc] init];
}
else if ([elementName isEqualToString:@"start-valid-time"]) {
currentElementType = kXMLElementTime;
return;
}
else {
currentElementType = kXMLElementOther;
}
//---------------------------------------------------------------------
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if(currentElementType == kXMLElementTime)
{
//We don't want anymore than three times
if ([listOfTimes count] >= 3)
return;
[listOfTimes addObject:string];
}
}
Básicamente almacena tres elementos de "tiempo" en una matriz. El problema, sin embargo, es que parece estar recogiendo espacios en blanco en la forma de una nueva línea. Aquí está el listado de la matriz en la consola ...
Printing description of listOfTimes:
(
"2010-08-21T22:00:00-05:00",
"\n ",
"2010-08-22T01:00:00-05:00"
)
y aquí está un fragmento de los datos XML Estoy procesamiento ...
<time-layout time-coordinate="local" summarization="none">
<layout-key>k-p3h-n40-1</layout-key>
<start-valid-time>2010-08-21T22:00:00-05:00</start-valid-time>
<start-valid-time>2010-08-22T01:00:00-05:00</start-valid-time>
<start-valid-time>2010-08-22T04:00:00-05:00</start-valid-time>
<start-valid-time>2010-08-22T07:00:00-05:00</start-valid-time>
<start-valid-time>2010-08-22T10:00:00-05:00</start-valid-time>
.
.
.
¿Estoy malentendido cómo funciona esto?
Gracias de antemano por su ayuda!
Sí, parece que lo ha solucionado. ¡gracias! – BeachRunnerFred
No se olvide de marcar su pregunta como respondida :-) –