2012-01-23 7 views
7

मैं एक एक्सएचटीएमएल दस्तावेज़ में स्टाइलशीट का चयन करना चाहता हूं, जिसमें न केवल विवरण, बल्कि href भी शामिल है।XPath में एकाधिक विशेषताओं की जांच कैसे करें?

उदाहरण के लिए

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

चयन किया जाना चाहिए, और

<link rel="stylesheet"/> 

नहीं करना चाहिए।

वर्तमान में, मैं इसे इस तरह कर रहा हूँ:

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); 
} 

लेकिन मैं वहाँ ऐसा करने का एक बेहतर तरीका है संदेह है। है?

+0

दूसरा हिस्सा 'पढ़ना चाहिए n.Attributes [" href "] । वैल्यू == नल' :) –

उत्तर

7

विशेषता अभिव्यक्ति के and @href जोड़ें:

 
//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); 
} 
परीक्षण के
संबंधित मुद्दे