2012-01-23 32 views
7

Tôi muốn chọn biểu định kiểu trong tài liệu XHTML, không chỉ chứa mô tả, mà còn có cả href.Cách kiểm tra nhiều thuộc tính trong XPath?

Ví dụ

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

nên được lựa chọn, và

<link rel="stylesheet"/> 

không nên.

Hiện nay, tôi đang làm nó như thế này:

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

nhưng tôi nghi ngờ có một cách tốt hơn để làm điều này. Lanhung?

+0

phần thứ hai của bài kiểm tra nên đọc 'n.Attributes [ "href"] .Value == null' :) –

Trả lời

7

Thêm and @href đến sự biểu hiện thuộc tính:

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

này sẽ cho phép bạn bỏ qua việc kiểm tra hoàn toàn:

foreach (XmlNode n in xml.SelectNodes(@"//link[@rel='stylesheet' and @href]")) 
{ 
    var l = Web.RelativeUrlToAbsoluteUrl(stuffLocation, n.Attributes["href"].Value); 
} 
Các vấn đề liên quan