Но я хотел использовать текстовую функцию
NSString *libName = @"Hillman Library";
resultNodes = [rssParser nodesForXPath:@"//Library[LibraryName/text() = libName]/Hours/TermOrHolidays" error:nil];
Но это не получается
Проблема в том, что :
//Library[LibraryName/text() = libName]/Hours/TermOrHolidays
выделяет все элементы Library
в документе, один из дочерних узлов текстового узла которого равен одному из libName
дочерних элементов того же Library
.
Элементы Library
в указанном XML-документе не имеют дочерних элементов libName
, и поэтому вышеприведенное выражение XPath ничего не выбирает.
Вы хотите :
//Library[LibraryName/text() = 'Hillman Library']/Hours/TermOrHolidays
или
//Library[LibraryName/text() = "Hillman Library"]/Hours/TermOrHolidays
Можно использовать как кавычки, так и апострофы.
В выражении XPath строка указывается, заключая ее в кавычки или апострофы.XPath не понимает переменных своего языка хостинга.