2010-06-27 5 views
0

어떤 사람은 iphone 용 C-objective의 XPath 쿼리에서 텍스트 함수를 변수와 함께 사용하는 방법을 알려줄 수 있습니까? 나는이 방법이 잘되지 않으면, 어떤 사람은 방법을 가져 오는 방법을 가르쳐주십시오 수있는 XMLxpath 쿼리에서 변수 사용 .. 가능합니까?

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

엔지니어링 라이브러리 존재에 대한 정보를 필요 엔지니어링 라이브러리의 데이터 단어를 직접 사용하고 싶지는 않지만 변수를 통해 사용하고 싶습니다.

감사

답변

0

사용하여 문자열을 구성하기 위해 [있는 NSString stringWithFormat 쉬울 수 있습니다 : @ "// 라이브러리 이름 [텍스트() = '% @'] /../ 시간/TermOrHolidays ", 일부 변수]

다음으로 t 그는 XPath 쿼리가 제대로 작동합니다.

+0

변수를 초기화합니다. NSString s * = [NSString stringWithFormat : @ "// LibraryName [text() = '% @ '] /../ Hours/TermOrHolidays ", libName]; XPath 쿼리에서이 문자열 변수를 사용하려고했지만 countByEnumeratingWithState : objects : count :] 오류가 발생합니다. 무엇을 할 수 있는지 알려주십시오. 감사합니다. Raqeeb –

+0

xpath에 익숙하지 않습니다. 유익한 것은 문자열 출력을 로그하고 예상대로 문자열이 생성되는지 확인하는 것입니다. 또한 어떤 객체가 countByEnumeratingWithState : objects : count 메시지를 호출합니까? –

0

방법이 XPath를 사용하는 방법에 대한 :

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

하거나 하나를 :

//Library[LibraryName='Engineering Library']/Hours/TermOrHolidays 
+0

감사합니다. jenningj ....하지만 실제 값 대신 변수를 사용해야합니다. –