2009-09-01 7 views
0

J'utilise Nokogiri avec Ruby 1.8.7 1.3.3 Je suis en train de faire correspondre le contenu d'une balise comme décrit dans this SO question:expressions Nokogiri xpath pas d'analyse syntaxique

nodeset.xpath("entry/index[. = '#{index.to_s}']/../categories") 

Nokogiri soulève une exception se plaindre de la ' . 'après la parenthèse. Quand je remplace le '.' par text() il se plaint alors de la deuxième période. Est-ce moi ou Nokogiri? Comment puis-je résoudre ce problème

Répondre

1

Si je comprends bien votre structure du document correctement, vous devriez être en mesure de le faire:

nodeset.xpath("entry[index='#{index.to_s}']/categories") 

qui me semble plus lisible.

+0

Ok, mais mon exemple est un xpath valide pourquoi ne pas analyser? Ce n'est pas la seule fois que cela est arrivé. –

+1

Odd - votre xpath fonctionne pour moi (Nokogiri 1.3.3, Ruby 1.8.6 et/ou 1.9.1). Quelle version de libxml2 utilisez-vous? –