XPath Wählen Sie alle untergeordneten Elemente mit bestimmten übergeordneten Knoten nach Attribut aus

html-agility-pack xml xpath

Frage

Ich möchte alle Kinder dh Bilder , deren Eltern wählen div mit id ist testRoot. Die Struktur ist unbekannt. Ich habe es hier vereinfacht, um den Zweck zu verstehen. Wenn es XPath-Ausdruck ist, wird das großartig.

        <div id="testRoot">

<div class="panel">
                    <a tabindex="-1" href="/mafuae/en/p/1236018">
                        <picture>
                            <source srcset="/medias/sys_master/images/images/h4e/hf5/8820729217054/NikonSlr-H-Tablet.jpg" media="(min-width: 768px)">
                            <img src="" alt="NikonSlr_H_Desktop.jpg">
                        </source>
                        </source></source></picture>
                    </a>
                </div>
            <div class="panel">
                    <a tabindex="-1" href="/mafuae/en/storespromotions">
                        <picture>
                            <source srcset="/medias/sys_master/images/images/h73/hd7/8818984321054/Ramadan2-14thMay-Tablet.jpg" media="(min-width: 768px)">
                            <img src="" alt="Ramadan2_14thMay_Desktop.jpg">
                        </source></source></source></picture>
                    </a>
                </div>
</div>

Das habe ich ausprobiert, aber ...

doc.DocumentNode.SelectNodes("//div[@id='hero']/div/div")

Akzeptierte Antwort

Für das Element div mit dem Attribut id von hero //div[@id='hero'] werden diese XPath-Ausdrücke Elemente wie folgt auswählen:

  • //div[@id='hero']/* wählt alle untergeordneten Elemente aus.
  • //div[@id='hero']/img alle seine Kinder wählen img Elemente.
  • //div[@id='hero']//* wählt alle seine untergeordneten Elemente aus.
  • //div[@id='hero']//img wählt alle seine untergeordneten img Elemente aus.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum