C #에서 html 문서에 새 노드 삽입

c# html-agility-pack

문제

htmlagilitypack을 사용하여 문서에 새 노드를 삽입하려고합니다. 스트림에서 문서를 읽고 노드를 삽입 한 다음 문서를 FileContentResult 객체로 반환합니다.

HtmlDocument ndoc = new HtmlDocument();
ndoc.Load(stream);

HtmlNode usern = HtmlNode.CreateNode("<img .... />");
usern.Attributes.Add("onclick", "javascript:document.location.href='/Home/Index';");
ndoc.DocumentNode.SelectSingleNode("id('main')").AppendChild(usern);

using (MemoryStream ms = new MemoryStream())
{
   ndoc.Save(ms);
   ms.Seek(0, System.IO.SeekOrigin.Begin);
   fileBytes = ms.ToArray();
}

FileContentResult file = File(fileBytes, "text/html");
return file;

문제점 : 새 노드 (img)가 삽입되지 않습니다. 이 코드를 사용하고 있고 스트림에서 문서를 읽고 FileContentResult로 반환 한 다음 모든 내용이 완벽하면 내 바닥 글 내용이 사라집니다. 이 코드의 문제점이나 내가 잘못하고있는 부분을 알고 싶습니다.

인기 답변

나는 같은 문제를 겪고, 복제 객체를 전달하여 그것을 해결했다. 그냥 줄을 수정해라.

ndoc.DocumentNode.SelectSingleNode("id('main')").AppendChild(usern);

ndoc.DocumentNode.SelectSingleNode("id('main')").AppendChild(usern);



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