2010-06-16 5 views
1

Supposons que j'ai ce code XML:XPath pour trouver un élément avec un frère similaire

<x> 
    <e a='1' b='A'/> 
    <e a='1' b='B'/> 
    <e a='1' b='A'/> 
</x> 

Je voudrais écrire un XPath pour trouver des éléments e qui:

  1. @b voir imputer = 'A'
  2. ont la même valeur pour l'attribut @a

le XPath ne peut pas faire référence à la valeur littérale de @a d'attribut, ho wever. Il peut référencer la valeur littérale de l'attribut @b.

Ou plus généralement, je veux trouver s'il y a des cas où il y a deux ou plusieurs éléments e [@ b = A '] avec la même valeur pour l'attribut @a.

Est-ce possible?

+0

ce qui doit être retourné dans le cas suivant: musiKk

+0

Retourner tout est bon. J'essaye de déterminer si au moins un tel noeud existe; quel noeud est retourné n'a pas d'importance. – user364902

Répondre

3

Je résolu mon problème avec la XPath suivante:

// e [b = 'A' et @ a = following-sibling :: e [b = 'A']/@ a]

Questions connexes