2010-08-30 11 views
35

J'ai un XML à partir duquel je dois sélectionner le nom de l'enfant de l'un des nœuds. Je suis un débutant dans ce domaine, donc je n'ai pas trouvé l'expression Xpath pour le faire. Je sais que le niveau du nœudComment sélectionner le premier nom d'enfant d'un noeud? XPath

Exemple

Nom de /Employee/Department/

mais Département a des nœuds enfants de noms inconnus. Je dois sélectionner le premier enfant du noeud Department. Comment puis-je faire ceci?

Répondre

16

Je ne connais pas le contexte exact de votre XML, mais je crois que c'est le XPath que vous cherchez ...

/Employee/Department/*[1] 

La partie clé de cette XPath est *[1], qui choisira la valeur de noeud du premier enfant de Department.

Si vous avez besoin du nom du nœud, alors vous voulez utiliser ...

name(/Employee/Department/*[1]) 
45

Vous avez écrit:

Je dois sélectionner le premier enfant de noeud Département

Vous pouvez utiliser:

/Employee/Department/*[1] 

Ensuite, vous avez également écrit:

J'ai un fichier XML dont je dois sélectionner le nom de l'enfant de l'un des les nœuds

Ainsi, vous pouvez utiliser:

name(/Employee/Department/*[1]) 
+6

+1. Cela suppose que l'OP souhaite le premier élément * element *, ce qui est probablement une hypothèse valide. – LarsH

+0

@LarsH: Vous avez raison concernant l'hypothèse de sélection d'éléments –

7

Vous devez quelque chose comme:

local-name(/Employee/Department/*[1]) 
Questions connexes