2012-08-27 2 views
0

J'utilise XPath.I essaie de comparer une valeur qui est stockée dans une chaîne, puis d'écrire une requête commecomparaison XPath de la valeur de requête à une chaîne

XPathExpression desc_expr = xpath.compile("/algorithms/info[name=s]/description/text()"); 

où s contient la valeur et est un chaîne. Je reçois null pour cela.

Toutefois, si j'écris la requête comme

XPathExpression desc_expr = xpath.compile("/algorithms/info[name='somename']/description/text()"); 

puis fonctionne requête. La valeur de la chaîne est de la forme abcd_abcd. Elle a un caractère spécial _.Est-ce à cause du caractère spécial que je reçois une valeur nulle? Quelqu'un pourrait-il m'aider à régler ce problème? Merci.

Répondre

0

changement

xpath.compile("/algorithms/info[name=s]/description/text()") 

à

xpath.compile("/algorithms/info[name="+s+"]/description/text()") 

U besoin d'utiliser la concaténation de chaîne pour avoir la valeur dans une variable être utilisée.

+0

Merci pour votre réponse.Mais ça ne marche pas.Il retourne encore la valeur vide. – Soham

+0

Ne fonctionne-t-il pas parce que la valeur de la chaîne est quelque chose comme ça abcd_abcd – Soham

Questions connexes