utilizando variable en XPath query..is posible?
Pregunta
Podría alguien por favor dígame ¿cómo se usa la función de texto con variable en la consulta XPath en el c-objetivo para el iPhone. Necesitaba la información para la Biblioteca de Ingeniería presente en el XML
http://www.sis.pitt.edu/~arazeez/Librarydata .xml
NSString *libName = @"Engineering Library";
NSMutableString *xpathquery = [[NSMutableString alloc] init];
[xpathquery appendString:@"//Library[LibraryName/text() = '"];
[xpathquery appendString:libName];
[xpathquery appendString:@"']/../Hours/TermOrHolidays"];
resultNodes = [rssParser nodesForXPath:xpathquery error:nil];
o otra variante
NSString *string1 = @"//LibraryName[text() = '";
NSString *string2 = @"']/../Hours/TermOrHolidays";
NSString *newString; NSString *newString1;
newString = [string1 stringByAppendingString:libName];
newString1 = [newString stringByAppendingString:string2];
NSLog(newString1);
//correct one below //resultNodes = [rssParser nodesForXPath:@"//LibraryName[text()= 'Engineering Library']/../Hours/TermOrHolidays" error:nil];
resultNodes = [rssParser nodeForXPath:newString1 error:nil];
Si este método no es el adecuado, podría alguien por favor dígame cómo recuperar los datos de la Biblioteca de Ingeniería. No quiero usar la palabra directamente, sino que quiero usarlo a través de una variable.
Gracias
Solución
Podría ser más fácil para construir la cadena utilizando [NSString stringWithFormat: @ "// LibraryName [texto () = '% @'] /../ Horas / TermOrHolidays", someVariable]
A continuación, siempre y cuando la consulta XPath está bien que va a funcionar.
Otros consejos
¿Cómo sobre el uso de este XPath:
//Library[@name='Engineering Library']/Hours/TermOrHolidays
o éste:
//Library[LibraryName='Engineering Library']/Hours/TermOrHolidays