XPath Seleziona tutti i bambini con nodo genitore specifico per attributo

html-agility-pack xml xpath

Domanda

Voglio selezionare tutti i bambini cioè le immagini di cui padre div con id è testRoot . La struttura è sconosciuta. L'ho semplificato qui per capire lo scopo. Se è un'espressione XPath, sarà fantastico.

        <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>

Questo è quello che ho provato ma ...

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

Risposta accettata

Per l'elemento div con un attributo id di hero //div[@id='hero'] , queste espressioni XPath selezioneranno gli elementi come segue:

  • //div[@id='hero']/* selezionerà tutti i suoi elementi figli .
  • //div[@id='hero']/img selezionerà tutti i relativi elementi img figli .
  • //div[@id='hero']//* selezionerà tutti i suoi elementi discendenti .
  • //div[@id='hero']//img selezionerà tutti i suoi elementi img discendenti .


Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché