2010-04-05 5 views
5

Bir öğeye ve XPath'ta varlığına bağlı olarak bir öğenin nasıl seçilmesi gerekir? Örneğin, varsa en iyi kalitede videoyu nasıl seçersiniz. hd sürümü bu durum var olabilirXpath, bir düzene göre ve bir öğeye bağlı olarak bir öğenin nasıl seçileceğini gösterir

var olmadığından

<VIDEOS> 
    <LOW_RES>video_L.flv</LOW_RES> 
    <HI_RES>video_H.flv</HI_RES> 
    <HD/> 
</VIDEOS> 

bu

(videolar isimler rastgele olabilir) video_H.flv dönmelidir:

<VIDEOS> 
    <LOW_RES>video_L.flv</LOW_RES> 
    <HI_RES>video_H.flv</HI_RES> 
    <HD>video_hd.mp4</HD> 
</VIDEOS> 

bu video_hd dönmelidir. hd sürümü mevcut olduğundan mp4. Çok teşekkürler.

+0

sadece metne sahip VİDEOLAR son alt öğesi aramıyorsanız? – sisis

+0

İyi Soru (+1). Tam bir XPath çözümü için cevabımı görün. :) –

cevap

2

Kullanım:

/*/HD[text()] 
| 
/*/HI_RES[text() and not(../HD/text())] 
| 
/*/LOW_RES[text() and not(../HD/text()) and not(../HI_RES/text())] 
+0

çalışıyor, teşekkürler :) – hokkos