Dans XPath 1.0 ou une utilisation ultérieure:
SomeExpression | SomeExpresion/node()
Dans XPath 2.0 ou ultérieure utiliser:
SomeExpression/(self::node()|node())
Une mauvaise réponse serait:
SomeExpression | SomeExpresion/*
car cela sélectionne uniquement les enfants de SomeExpression
qui sont des éléments, tandis que SomeExpression
peut également avoir d'autres enfants - en tant que noeuds de texte, noeuds de commentaire, noeuds d'instruction de traitement.
aussi incorrect est:
./SomeExpression | ./*/SomeExpression
Cela ne sélectionne pas les enfants immédiats de ./SomeExpression
et il ne sélectionne pas les enfants de immidiate ./*/SomeExpression
.
Bonne question, +1. Voir ma réponse pour la seule réponse correcte jusqu'à présent. Notez que la réponse actuellement sélectionnée est incorrecte. :) –