xpath
Hitta noder som har ett specifikt attribut
Sök…
Syntax
- Inuti en specifik nod
- / sökväg till / element [@attribute_name]
- Överallt i dokumentet
- // * [@ ATTRIBUTE_NAME]
- 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"]
- Ö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