C # HtmlAgilityPack 내부 html은 노드 추가 후 변경되지 않습니다.

c# html html-agility-pack nodes tree

문제

내 C #에서로드 된 HTML을 변경하고, 일반 텍스트로 HTML 문서를 얻을 필요가있다. 그러나 새로운 노드가 문서의 노드 중 하나에 추가 될 때마다 루트 노드의 내부 html은 새로운 노드가 성공적으로 추가 되더라도 변경되지 않습니다. 디버깅 후 새 노드의 부모 만 InnerHtml 속성에 변경 사항이 있음을 확인했습니다. 예를 들면 다음과 같습니다.

HtmlDocument doc;
HtmlNode root doc.DocumentNode;
HtmlNode node2 = root.ChildNodes[1];
HtmlNode newNode = new HtmlNode(...);
node2.Append(newNode);

데 :

<root>
    <node1>
    </node1>
    <node2>
        <node3>
        <node3>
        <newNode>
        </newNode>
    </node2>
</root>

node2.InnerHtml이됩니다.

        <node3>
        <node3>
        <newNode>
        </newNode>

하지만 root.InnerHtml은

<root>
    <node1>
    </node1>
    <node2>
        <node3>
        <node3>
    </node2>
</root>

이 문제를 어떻게 해결할 수 있습니까? (나는 모든 문서의 노드 내부 HTML을 수동으로 업데이트 할 수 있지만 일반적으로 ...)

수락 된 답변

이 문제는 InnerHtml 또는 OuterHtml 속성 대신 WriteContentTo() 메서드를 사용하여 해결했습니다.



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