Html 민첩성 팩 : HtmlNode의 속성 값 설정은 HtmlDocument에 반영되지 않습니다.

html-agility-pack setattribute

문제

Html Agility Pack에서 HtmlNode의 속성을 설정할 때 노드가 선택된 HtmlDocument에서이 속성을 확인해야합니까?

말하자면 htmlDocument는 HtmlDocument입니다. 그래서 단순화 된 코드는 다음과 같습니다.

HtmlNode documentNode = htmlDocument.DocumentNode;
HtmlNodeCollection nodeCollection = documentNode.SelectNodes(someXPath);
foreach(var node in nodeCollection)
   if(SomeCondition(node))
       node.SetAttributeValue("class","something");

이제 노드 변경의 클래스 속성을 볼 수 있지만 htmlDocument의 html에 반영된 변경 사항은 보이지 않습니다.

수락 된 답변

사실 그것은 ProgrammerTooStupidException의 경우입니다 : (

나는 HTML 프로퍼티와 DocumentProperty를 가진 MyHtmlPage 클래스를 사용했다.

_html = theHtml;
_htmlDocument = new HtmlDocument();
HtmlDocument.LoadHtml(theHtml)l
_documentNode = HtmlDocument.DocumentNode;

이제, coourse 조작에서 DocumentNode는 _html 값에 영향을 미치지 않았습니다.

이 답장을 게시하면 HAP의 이름을 지울 수 있습니다.



Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.