Szukaj…


Składnia

  1. Wewnątrz określonego węzła
    • / ścieżka do / elementu [@nazwa_atrybutu]
  2. Gdziekolwiek w dokumencie
    • // * [@ nazwa_atrybutu]
  3. Wewnątrz określonego węzła z pewną wartością
    • / path to / element [@ nazwa_atrybutu = 'wartość wyszukiwania']
    • / path to / element [@ nazwa_atrybutu = "wartość wyszukiwania"]
  4. Gdziekolwiek w dokumencie o pewnej wartości
    • // * [@ nazwa_atrybutu = „ciąg wyszukiwania”]
    • // * [@ nazwa_atrybutu = „ciąg wyszukiwania”]

Parametry

Selektor funkcjonować
@nazwa_atrybutu Wybiera wartość atrybutu dla węzła, jeśli jest obecny

Uwagi

Za pomocą [@nazwa_atrybutu] możemy wybrać węzły, które mają atrybut niezależnie od wartości.

Możemy użyć dowolnej funkcji lub kombinacji funkcji, takich jak na przykład start-with i małe litery, na przykład za pomocą tego selektora do naszych potrzeb.

Znajdź węzły o określonym atrybucie

XML

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

XPATH

/Galaxy/*[@name]

lub

//*[@name]

WYNIK

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

Znajdź węzły o określonej wartości atrybutu

XML

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

XPATH

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

lub

//*[@name='Sun']

WYNIK

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

Znajdź węzły, podciągając dopasowanie wartości atrybutu

XML

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

XPATH

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

lub

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

Podwójne cudzysłowy mogą być również stosowane zamiast pojedynczych cudzysłowów:

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

WYNIK

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

Znajdź węzły poprzez dopasowanie podciągu wartości atrybutu (bez rozróżniania wielkości liter)

XML

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

XPATH

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

lub

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

lub z ciągiem w podwójnych cudzysłowach:

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

WYNIK

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

Znajdź węzły, podciągając pasujące do początku wartości atrybutu

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

lub

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

WYNIK

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

Znajdź węzły, podciągając pasujące do końca wartości atrybutu

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

lub

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

WYNIK

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow