Zoeken…


Syntaxis

  1. Binnen een specifiek knooppunt
    • / pad naar / element [@attribute_name]
  2. Overal in het document
    • //*[@attribuut naam]
  3. Binnen een specifiek knooppunt met enige waarde
    • / pad naar / element [@ attribute_name = 'zoekwaarde']
    • / pad naar / element [@ attribute_name = "zoekwaarde"]
  4. Overal in het document met enige waarde
    • // * [@ attribute_name = 'zoekreeks']
    • // * [@ attribute_name = "zoekreeks"]

parameters

keuzeschakelaar functie
@attribuut naam Hiermee wordt de kenmerkwaarde voor een knooppunt geselecteerd, indien aanwezig

Opmerkingen

Met behulp van [@attribuutnaam] kunnen we knooppunten selecteren die het kenmerk hebben, ongeacht de waarde.

We kunnen elk van de functies of een combinatie van functies gebruiken, zoals start-met en kleine letters, bijvoorbeeld met deze selector om aan onze behoeften te voldoen.

Zoek knooppunten met een specifiek kenmerk

XML

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

XPATH

/Galaxy/*[@name]

of

//*[@name]

OUTPUT

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

Zoek knooppunten met een specifieke kenmerkwaarde

XML

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

XPATH

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

of

//*[@name='Sun']

OUTPUT

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

Zoek knooppunten door substring matching van de waarde van een attribuut

XML

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

XPATH

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

of

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

Dubbele aanhalingstekens kunnen ook worden gebruikt in plaats van enkele aanhalingstekens:

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

OUTPUT

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

Zoek knooppunten door substring matching van de waarde van een attribuut (niet hoofdlettergevoelig)

XML

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

XPATH

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

of

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

of, met de string in dubbele aanhalingstekens:

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

OUTPUT

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

Zoek knooppunten door een substring te selecteren die overeenkomt met het begin van de waarde van een kenmerk

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

of

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

OUTPUT

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

Zoek knooppunten door substring te gebruiken die overeenkomt met het einde van de waarde van een attribuut

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

of

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

OUTPUT

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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow