XPath Sélectionner tous les enfants avec un noeud parent spécifique par attribut

html-agility-pack xml xpath

Question

Je veux sélectionner tous les enfants dont le parent -à- dire des images div avec id est testRoot. La structure est inconnue. Je l'ai simplifié ici pour comprendre le but. Si c'est l'expression XPath, ce sera génial.

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

C'est ce que j'ai essayé mais ...

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

Réponse acceptée

Pour l'élément div avec un attribut id de hero //div[@id='hero'] , ces expressions XPath sélectionneront les éléments comme suit:

  • //div[@id='hero']/* sélectionnera tous ses éléments enfants .
  • //div[@id='hero']/img sélectionnera tous ses éléments img enfants .
  • //div[@id='hero']//* sélectionnera tous ses éléments descendants .
  • //div[@id='hero']//img sélectionnera tous ses éléments descendants img .



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi