xpath
Encuentra nodos que tienen un atributo específico
Buscar..
Sintaxis
- Dentro de un nodo específico
- / ruta a / elemento [@attribute_name]
- En cualquier parte del documento
- //*[@Nombre del Atributo]
- 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"]
- 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