문제

Could some one please tell me how do we use the text function with variable in the XPath query in c-objective for iphone. I needed the information for Engineering Library present in the 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];

or another variant

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

If this method is not right, could some one please tell me how to fetch the data for Engineering Library. I dont want to use the word directly but want to use it through a variable.

Thanks

도움이 되었습니까?

해결책

It might be easier to construct the string using [NSString stringWithFormat:@"//LibraryName[text() = '%@']/../Hours/TermOrHolidays", someVariable]

Then as long as the xpath query is okay it will work.

다른 팁

how about using this xpath:

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

or this one:

//Library[LibraryName='Engineering Library']/Hours/TermOrHolidays
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top