использование переменной в запросе xpath ... возможно ли это? - PullRequest
0 голосов
/ 27 июня 2010

Может кто-нибудь сказать, пожалуйста, как мы используем текстовую функцию с переменной в запросе XPath в c -jective для iphone. Мне нужна была информация для инженерной библиотеки, представленная в 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];

или другой вариант

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];

Если этот метод неправильный, кто-нибудь, пожалуйста, подскажите, как получить данные для Инженерной библиотеки. Я не хочу использовать слово напрямую, но хочу использовать его через переменную.

Спасибо

Ответы [ 2 ]

0 голосов
/ 28 июня 2010

Может быть проще построить строку, используя [NSString stringWithFormat: @ "// LibraryName [text () = '% @'] /../ Hours / TermOrHolidays", someVariable]

Тогда, пока запрос xpath в порядке, он будет работать.

0 голосов
/ 28 июня 2010

как насчет использования этого xpath:

//Library[@name='Engineering Library']/Hours/TermOrHolidays

или этого:

//Library[LibraryName='Engineering Library']/Hours/TermOrHolidays
...