기본 문서에 반영된 선택된 노드의 변경 사항 - htmlagilitypack

c# html-agility-pack local-variables selectsinglenode

문제

예를 들어 노드를 선택합니다.

HtmlDocument temp_HdDocument = new HtmlDocument();

temp_HdDocument.LoadHtml(mysource);

var vrTempNewNode = temp_HdDocument.SelectSingleNode("//a"));

나는이 방식으로 노드를 바꾼다.

HtmlDocument temp_HdDocument = new HtmlDocument();

temp_HdDocument.LoadHtml(mysource);

var vrTempNewNode = temp_HdDocument.SelectSingleNode("//a"));

지금은 아무 변화 할 때 vrTempNewNode 그것은 또한에 반영됩니다 temp_HdDocument

어떻게 이런 일이 일어나지 않도록 할 수 있습니까? 선택 노드가 단지 참조 객체를 생성한다고 가정하지만 주 문서의 일부가 아닌 새로운 지역 변수가되기를 원합니다.

htmlagilitypack c # .net 4.5 wpf

수락 된 답변

이것이 기본 동작이며 대부분의 경우에 매우 유용합니다. HtmlNode.CopyFrom() 을 사용하여 기존 노드의 독립 복사본을 만들 수 있습니다.이 복사본은 원본 HtmlDocument 영향을주지 않고 수정할 수 있습니다. 예를 들면 다음과 같습니다.

var a = temp_HdDocument.SelectSingleNode("//a"));
HtmlNode temp = HtmlNode.CreateNode("<a></a>");
temp.CopyFrom(a, false);



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