2014-12-19 5 views
0

в C# .net используя htmlagilitypack, как бы определить, существует ли «test3»/есть?определить, существует ли класс div?

Я получаю доступ к каждой статье, используя цикл foreach с определением HTMLNode для каждого существующего элемента.

Я попытался

если (node.descendants ("ДИВ") == TRUE) ... но это не будет работать

+0

обязательно отметьте ответ, который помог вам максимально точно ответить на ваши прошлые вопросы. – Jonesopolis

ответ

2

Вы можете использовать XPath.

bool exist = doc.DocumentNode.SelectSingleNode("//div[@class='test3']") != null; 

Было бы намного проще, чем Linq версии

bool exist = doc.DocumentNode.Descendants("div") 
       .Any(div => div.Attributes["class"] != null && 
          div.Attributes["class"].Value == "test3"); 
0
if (node.Descendants("div").Any(n => n.GetAttributeValue("class", "").Contains("test3"))) 
{ 

} 

class может (и часто делает) содержит более одного элемента, разделенных пробелами. Может быть, лучше посмотреть, не будет ли это Contains test3

Смежные вопросы