C#HtmlAgilityPack内部html在追加节点后不会改变

Ben*_*Ben 5 html c# tree nodes html-agility-pack

在我的C#中更改加载的html,并需要将html文档作为纯文本.但每当我将新节点附加到文档节点之一时,即使成功添加新节点,根节点的内部html也不会更改.调试后我注意到只有新节点的父节点的InnerHtml属性发生了变化,例如:

HtmlDocument doc;
HtmlNode root doc.DocumentNode;
HtmlNode node2 = root.ChildNodes[1];
HtmlNode newNode = new HtmlNode(...);
node2.Append(newNode);
Run Code Online (Sandbox Code Playgroud)

有:

<root>
    <node1>
    </node1>
    <node2>
        <node3>
        <node3>
        <newNode>
        </newNode>
    </node2>
</root>
Run Code Online (Sandbox Code Playgroud)

node2.InnerHtml将是

        <node3>
        <node3>
        <newNode>
        </newNode>
Run Code Online (Sandbox Code Playgroud)

但是root.InnerHtml是

<root>
    <node1>
    </node1>
    <node2>
        <node3>
        <node3>
    </node2>
</root>
Run Code Online (Sandbox Code Playgroud)

我怎么能解决这个问题?(我知道我可以手动更新每个文档的节点内部html,但常见...)

Ben*_*Ben 4

我通过使用方法WriteContentTo()而不是使用属性InnerHtmlOuterHtml