2008-11-03 28 views

回答

2

給定的班級?如果它只是一個類,那麼你應該可以做類似.SelectNodes(「// * [@ class ='foo']」)。如果它不是xhtml,那麼HTML Agility Pack值得一看。

在客戶端,jQuery的將是一個不錯的選擇 - 支持複合類名。

如果你在單個元素上有多個類名,並且需要在服務器上處理它,我希望你可能需要先找到候選類(「// * [@ class!='']),並且然後遍歷他們做了Split()和檢查的結果的類名,即除了手動拉

在LINQ而言,是這樣的:

 var qry = from XmlElement el in d.SelectNodes("//*[@class!='']") 
        let classes = el.GetAttribute("class").Split(new[] {' '}, 
          StringSplitOptions.RemoveEmptyEntries) 
        where classes.Contains("foo") 
        select el; 
+0

那麼我認爲XPath不支持正則表達式? – tpower 2008-11-03 14:18:14

+0

非本地。在xpath中有一系列可用的字符串函數 - 但是,沒有什麼特別方便。 – 2008-11-03 15:41:02

1

是的,很容易使用XPath:

//*[@class='foo']