Buscar..


Sintaxis

  1. Dentro de un nodo específico
    • / ruta a / elemento [@attribute_name]
  2. En cualquier parte del documento
    • //*[@Nombre del Atributo]
  3. Dentro de un nodo específico con algún valor
    • / ruta a / elemento [@ attribute_name = 'valor de búsqueda']
    • / ruta a / elemento [@ attribute_name = "valor de búsqueda"]
  4. En cualquier parte del documento con algún valor.
    • // * [@ nombre_atributo = 'cadena de búsqueda']
    • // * [@ attribute_name = "cadena de búsqueda"]

Parámetros

Selector función
@Nombre del Atributo Selecciona el valor del atributo para un nodo, si está presente

Observaciones

Usando [@attribute_name] podemos seleccionar nodos que tienen el atributo independientemente del valor.

Podemos usar cualquiera de las funciones o la combinación de las funciones, como comics con y minúsculas, por ejemplo, con este selector para satisfacer nuestras necesidades.

Encuentra nodos con un atributo específico

XML

<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>

XPATH

/Galaxy/*[@name]

o

//*[@name]

SALIDA

<CelestialObject name="Earth" type="planet" />
<CelestialObject name="Sun" type="star" />

Encuentra nodos con un valor de atributo específico

XML

<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>

XPATH

/Galaxy/*[@name='Sun']

o

//*[@name='Sun']

SALIDA

<CelestialObject name="Sun" type="star" />

Encuentra nodos por subcadena que coincida con el valor de un atributo

XML

<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>

XPATH

/Galaxy/*[contains(@name,'Ear')]

o

//*[contains(@name,'Ear')]

Las comillas dobles también se pueden utilizar en lugar de comillas simples:

/Galaxy/*[contains(@name, "Ear")]

SALIDA

<CelestialObject name="Earth" type="planet" />

Encuentre nodos por subcadena que coincida con el valor de un atributo (no distingue mayúsculas y minúsculas)

XML

<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>

XPATH

/Galaxy/*[contains(lower-case(@name),'ear')]

o

//*[contains(lower-case(@name),'ear')]

o, con la cadena entre comillas dobles:

//*[contains(lower-case(@name), "ear")]

SALIDA

<CelestialObject name="Earth" type="planet" />

Encuentre nodos por subcadena que coincidan con el inicio del valor de un atributo

XML

<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>

XPATH

/Galaxy/*[starts-with(lower-case(@name),'ear')]

o

//*[starts-with(lower-case(@name),'ear')]

SALIDA

<CelestialObject name="Earth" type="planet" />

Encuentre nodos por subcadena que coincidan con el final del valor de un atributo

XML

<Galaxy>
    <name>Milky Way</name>
    <CelestialObject name="Earth" type="planet"/>
    <CelestialObject name="Sun" type="star"/>
</Galaxy>

XPATH

/Galaxy/*[ends-with(lower-case(@type),'tar')]

o

//*[ends-with(lower-case(@type),'tar')]

SALIDA

<CelestialObject name="Sun" type="star" />


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow