質問

iPhoneのc-objectiveのXPathクエリの変数を持つテキスト関数をどのように使用するかを教えてください。 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];

この方法が正しくない場合は、エンジニアリングライブラリのデータを取得する方法を教えてください。私は単語を直接使いたくありませんが、変数を通してそれを使用したいです。

ありがとう

役に立ちましたか?

解決

nsstring stringwithformat:@"// libraryName [text()= '%@'] /// hours/termorholidays"、somevariable]を使用して文字列を構築する方が簡単かもしれません。

次に、XPathクエリが問題ない限り機能します。

他のヒント

このxpathを使用してみませんか:

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

またはこれ:

//Library[LibraryName='Engineering Library']/Hours/TermOrHolidays
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top