Ricerca…


Sintassi

  1. All'interno di un nodo specifico
    • / percorso a / elemento [@attributo_nome]
  2. Ovunque nel documento
    • //*[@nome attributo]
  3. All'interno di un nodo specifico con un certo valore
    • / percorso a / elemento [@ attribute_name = 'valore di ricerca']
    • / percorso a / elemento [@ attribute_name = "valore di ricerca"]
  4. Ovunque nel documento con un certo valore
    • // * [@ attribute_name = 'stringa di ricerca']
    • // * [@ attribute_name = "stringa di ricerca"]

Parametri

Selettore funzione
@nome attributo Seleziona il valore dell'attributo per un nodo, se presente

Osservazioni

Usando [@attributo_nome] possiamo selezionare nodi che hanno l'attributo indipendentemente dal valore.

Ad esempio, con questo selettore possiamo adattare qualsiasi funzione o combinazione di funzioni come start-in e minuscolo, in base alle nostre esigenze.

Trova nodi con un attributo specifico

XML

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

XPATH

/Galaxy/*[@name]

o

//*[@name]

PRODUZIONE

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

Trova nodi con un valore di attributo specifico

XML

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

XPATH

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

o

//*[@name='Sun']

PRODUZIONE

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

Trova i nodi per corrispondenza di sottostringa del valore di un attributo

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')]

Le doppie virgolette possono anche essere usate al posto delle virgolette singole:

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

PRODUZIONE

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

Trova i nodi per sottostringa che corrisponde al valore di un attributo (senza distinzione tra maiuscole e minuscole)

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')]

oppure, con la stringa tra virgolette:

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

PRODUZIONE

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

Trova i nodi per sottostringa che corrisponde all'inizio del valore di un attributo

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')]

PRODUZIONE

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

Trova i nodi per sottostringa che corrisponde alla fine del valore di un attributo

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')]

PRODUZIONE

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow