2017-05-24 3 views
1

Ich möchte alle untergeordneten Elemente auswählen, d. H. Bilder, deren übergeordnete Elemente divtestRoot sind. Die Struktur ist unbekannt. Ich habe es hier vereinfacht, um den Zweck zu verstehen. Wenn es XPath-Ausdruck ist, wird das großartig.XPath Wählen Sie alle untergeordneten Elemente mit bestimmten übergeordneten Knoten nach Attribut aus

 <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/54/Ramadan2-14thMay-Tablet.jpg" media="(min-width: 768px)"> 
          <img src="" alt="Ramadan2_14thMay_Desktop.jpg"> 
         </source></source></source></picture> 
        </a> 
       </div> 
</div> 

Das ist, was ich versuchte, aber ...

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

Antwort

4

Für das div Element mit einem id Attribute hero//div[@id='hero'], wird dieser XPath-Ausdruck Elemente auswählen:

  • wählt alle seine Kinder Elemente.
  • //div[@id='hero']/img wird alle Kinderimg Elemente auswählen.
  • //div[@id='hero']//* wählt alle seine absteigenden Elemente.
  • //div[@id='hero']//img wählt alle absteigendenimg Elemente.
+0

Ich habe es lange gemacht, aber Sie haben es einfacher für mich gemacht :). '// div [@ id = 'hero'] // img' ist der Code, nach dem ich gesucht habe –

Verwandte Themen