Sök…


Syntax

  1. Inuti en specifik nod
    • / sökväg till / element [@attribute_name]
  2. Överallt i dokumentet
    • // * [@ ATTRIBUTE_NAME]
  3. Inuti en specifik nod med något värde
    • / sökväg till / element [@ attribute_name = 'sökvärde']
    • / sökväg till / element [@ attribute_name = "sökvärde"]
  4. Överallt i dokumentet med något värde
    • // * [@ attribute_name = 'söksträng']
    • // * [@ attribute_name = "söksträng"]

parametrar

Väljare fungera
@attribute_name Den väljer attributvärdet för en nod om det finns

Anmärkningar

Med [@attribute_name] kan vi välja noder som har attributet oberoende av värdet.

Vi kan använda vilken som helst av funktionerna eller kombinationen av funktionerna som start-med och små bokstäver, till exempel med denna väljare för att passa våra behov.

Hitta noder med ett specifikt attribut

XML

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

XPATH

/Galaxy/*[@name]

eller

//*[@name]

PRODUKTION

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

Hitta noder med ett specifikt attributvärde

XML

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

XPATH

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

eller

//*[@name='Sun']

PRODUKTION

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

Hitta noder genom att ersätta matchning av ett attributs värde

XML

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

XPATH

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

eller

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

Dubbla citat kan också användas i stället för enstaka offert:

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

PRODUKTION

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

Hitta noder genom att ersätta matchning av ett attributs värde (inte-känsligt)

XML

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

XPATH

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

eller

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

eller med strängen i dubbla citat:

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

PRODUKTION

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

Hitta noder genom att ersätta matchningen i början av ett attributs värde

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

eller

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

PRODUKTION

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

Hitta noder genom att ersätta matchningen i slutet av ett attributs värde

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

eller

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

PRODUKTION

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow