2009-05-26 8 views

Répondre

9

Eh bien, n'utilisez pas @name | @area - ce n'est pas 'ou', c'est une jointure qui fonctionne par hasard. Pour 'ou', faites foo[@name or @area]. Pour 'et', faites foo[@name and @area].

+0

que je pourrais appeler à l'aide "@name | @area" que rond-point de chemin, mais pas accessoire. Effectivement, il dit "cette expression renvoie-t-elle des résultats?" La réponse est bien sûr oui si l'un ou les deux attributs sont présents. C'est une alternative raisonnable pour exprimer la même condition. –

4

XPath ne vous fournit avec un opérateur and qui peut être utilisé pour évaluer plusieurs conditions à l'aide de prédicats:

Possibles:

//MyElement[@name][@area] 
//MyElement[@name and @area] 
+0

S'il vous plaît ne faites pas le premier. – alamar

+0

Je ne le fais pas, mais seulement par habitude. Y a-t-il une raison valable de ne pas le faire? – Cerebrus

+0

Eh bien, parce que c'est moche? Je ne peux pas penser à une raison plus valable, franchement :) – alamar

Questions connexes