online node example attribute and xml xslt xpath

node - xpath xml



XPath con mĂșltiples condiciones (3)

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

¿Qué XPath puedo usar para seleccionar cualquier categoría con un atributo de nombre especificado y cualquier autor de nodo secundario con el valor especificado?

He intentado diferentes variaciones de la ruta a continuación sin éxito:

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

El XML:

<?xml version="1.0" encoding="utf-8"?> <quotes> <category name="Sport"> <author>James Small<quote date="09/02/1985">Quote One</quote><quote date="11/02/1925">Quote nine</quote></author> </category> <category name="Music"> <author>Stephen Swann <quote date="04/08/1972">Quote eleven</quote></author> </category> </quotes>


la pregunta no está clara, pero lo que entiendo es que necesita seleccionar una categoría que tenga un atributo de nombre y que tenga un autor secundario con el valor especificado, corrígeme si estoy preocupado

aquí hay un xpath

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


Uso :

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

o usar:

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

Es una buena regla intentar evitar usar el // pseudooperador siempre que sea posible, ya que su evaluación puede ser muy lenta.

También:

./somename

es equivalente a:

somename

por lo que se recomienda usar este último.