XPath avec plusieurs conditions

Quel XPath puis-je utiliser pour sélectionner une catégorie avec un atsortingbut name spécifié et tout auteur de noeud enfant avec la valeur spécifiée.

J’ai essayé différentes variantes du chemin ci-dessous sans succès:

//quotes/category[@name='Sport' and author="James Small"] 

Le XML:

    James SmallQuote OneQuote nine   Stephen Swann Quote eleven   

Essayer:
//category[@name='Sport' and ./author/text()='James Small']

Utiliser :

 /category[@name='Sport' and author/text()[1]='James Small'] 

Ou utiliser:

 /category[@name='Sport' and author[starts-with(.,'James Small')]] 

C’est une bonne règle d’essayer d’éviter d’utiliser le pseudo-opérateur // chaque fois que possible, car son évaluation peut généralement être très lente.

Aussi:

 ./somename 

est équivalent à:

 somename 

il est donc recommandé d’utiliser ce dernier.

question n’est pas claire, mais ce que je comprends, vous devez sélectionner une catégorie qui a atsortingbut name et devrait avoir auteur enfant avec la valeur spécifiée, corrigez-moi si je suis usé

voici un xpath

 //category[@name='Required value'][./author[contains(.,'Required value')]] eg //category[@name='Sport'][./author[contains(.,'James Small')]]