2012-01-23 33 views
7

Sadece açıklama değil, aynı zamanda href içeren bir XHTML belgesindeki stil sayfalarını seçmek istiyorum.XPath'te birden çok öznitelik nasıl denetlenir?

<link rel="stylesheet" href="123"/> 

seçilmelidir Örneğin

ve

<link rel="stylesheet"/> 

olmamalıdır.

foreach (XmlNode n in xml.SelectNodes(@"//link[@rel='stylesheet']")) 
{ 
    if (n.Attributes["href"]==null||n.Attributes[""].Value==null) 
    { 
     continue; 
    } 
    var l = Web.RelativeUrlToAbsoluteUrl(stuffLocation, n.Attributes["href"].Value); 
} 

ama bunu yapmanın çok daha iyi bir yolu var sanıyorum:

Şu anda, ben böyle yapıyorum. Var mı?

+0

İkinci kısım 'okumalısınız n.Attributes [ "href"] .Value == null' :) –

cevap

7

nitelik ifadeye and @href ekle: Bu tamamen kontrol atlamak için izin vermelidir

 
//link[@rel='stylesheet' and @href] 

:

foreach (XmlNode n in xml.SelectNodes(@"//link[@rel='stylesheet' and @href]")) 
{ 
    var l = Web.RelativeUrlToAbsoluteUrl(stuffLocation, n.Attributes["href"].Value); 
} 
testin
İlgili konular