С данным классом? Если это только один класс, то вы должны иметь возможность сделать что-то вроде .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;
Я понимаю, что XPath не поддерживает регулярные выражения? – tpower 2008-11-03 14:18:14
Не изначально. Существует ряд строковых функций, доступных вам в xpath - однако ничего, что было бы особенно удобно. – 2008-11-03 15:41:02