2010-06-27 4 views
0

Pourrait-on me dire comment utiliser la fonction de texte avec variable dans la requête XPath dans c-objectif pour iphone. Je avais besoin d'informations pour présenter la bibliothèque d'ingénierie dans le fichier XMLen utilisant variable dans la requête xpath .. est-ce possible?

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

ou d'une autre variante

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

Si cette méthode ne va pas, quelqu'un pourrait s'il vous plaît me dire comment aller chercher la données pour la bibliothèque d'ingénierie. Je ne veux pas utiliser le mot directement, mais je veux l'utiliser à travers une variable.

Merci

Répondre

0

Il pourrait être plus facile de construire la chaîne en utilisant [NSString stringWithFormat: @ "// LibraryName [text() = '% @'] /../ Hours/TermOrHolidays ", someVariable]

Puis, aussi longtemps que t La requête de xpath est ok ça va marcher.

+0

I init une variable NSString s * = [NSString stringWithFormat: @ "// LibraryName [text() = '% @ '] /../ Hours/TermOrHolidays ", libName]; J'ai essayé d'utiliser cette variable chaîne s dans la requête XPath mais j'ai une erreur, countByEnumeratingWithState: objects: count:] Veuillez me faire savoir ce qui pourrait être fait. Merci Raqeeb –

+0

Je ne connais pas trop xpath. Ce qui serait bénéfique, c'est de consigner la sortie de la chaîne et de s'assurer qu'elle est créée comme prévu. En outre, quel objet appelle le message countByEnumeratingWithState: objects: count? –

0

comment sur l'utilisation de cette XPath:

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

ou celui-ci:

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

merci jenningj .... mais j'ai besoin d'utiliser une variable au lieu de la valeur réelle par elle-même –

Questions connexes