Verwendung von Variablen in XPath query..is es möglich?
Frage
Könnte jemand bitte sagen Sie mir, wie verwenden wir die Text-Funktion mit Variable in der XPath-Abfrage in c-Objektiv für iphone. Ich brauchte die Informationen für Engineering-Bibliothek in der 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];
oder eine andere 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];
Wenn diese Methode nicht richtig ist, könnte jemand mir bitte sagen, wie die Daten für die Engineering-Bibliothek zu holen. Ich habe nicht das Wort direkt verwenden möchten, aber wollen es durch eine Variable verwenden.
Danke
Lösung
Es könnte einfacher sein, die Zeichenfolge erstellen mit [NSString string: @ "// Library [text () = '% @'] /../ Stunden / TermOrHolidays", somevariable]
Dann solange die XPath-Abfrage in Ordnung ist, wird es funktionieren.
Andere Tipps
Wie wäre es mit dieser XPath:
//Library[@name='Engineering Library']/Hours/TermOrHolidays
oder diese:
//Library[LibraryName='Engineering Library']/Hours/TermOrHolidays