2010-11-11 16 views
2

鑑於下面的html片段,我如何才能選擇所有div的類ac只有當他們有一個帶有class的子div時a1php xpath只有具有類「a」的孩子才能選擇div「A」

分辯現在我有以下XPath查詢:

//div[@id='z']/div[@class='a' or @class='c']

<div id="z"> 
    <div class="a"><!-- Should be selected --> 
     <div class="a1"></div> 
    </div> 
    <div class="a"> 
     <div></div> 
    </div> 
    <div class="b"> 
     <div></div> 
    </div> 
    <div class="a"><!-- Should be selected --> 
     <div class="a1"></div> 
    </div> 
    <div class="c"><!-- Should be selected --> 
     <div class="a1"></div> 
    </div> 
</div> 

回答

4

使用

//div[(@class='a' or @class='c') and div[@class='a1']] 

始終避免使用//當XML的結構是已知的//通常效率很低,因爲它會導致遍歷其頂層元素是上下文節點的完整子樹。

3
/div[@id='z']/div[@class='a' or @class='c'][div[@class='a1']] 

live link

相關問題