저는 html 민첩성 팩에서 찌르다가이 문제를 해결하는 데 올바른 방법을 찾는 데 어려움을 겪고 있습니다. 예를 들어Html 민첩성 팩은 클래스별로 모든 요소를 가져옵니다.
:
var findclasses = _doc.DocumentNode.Descendants("div").Where(d => d.Attributes.Contains("class"));
그러나, 분명히 된 div 그래서 난이 시도 당신은 ... 많은에
var allLinksWithDivAndClass = _doc.DocumentNode.SelectNodes("//*[@class=\"float\"]");
더 많은 클래스를 추가 할 수 있습니다하지만 그 사건을 처리하지 않습니다 어디 여러 클래스를 추가하면 "float"은 다음 중 하나와 같습니다.
class="className float anotherclassName"
이 모든 것을 처리 할 수있는 방법이 있습니까? 기본적으로 클래스가있는 모든 노드를 선택하고 float가 포함됩니다.
대답은에 대한 자세한 설명과 함께 내 블로그에 문서화되어있다 ** :
var findclasses = _doc.DocumentNode
.Descendants("div")
.Where(d =>
d.Attributes.Contains("class")
&&
d.Attributes["class"].Value.Contains("float")
);
내가 확장 방법 HasClass
을 만드는 것이 좋습니다 수 있으며 사용 : Html Agility Pack Get All Elements by Class
늘이 원인은 찾을 수 div를? 그 클래스를 Adam
그런 다음 "div"술어를 제거하십시오. – Dai
.Descendants ("")로 할 수 있습니까? – Adam