C# HtmlAgilityPack添加节点后inner html没有改变

5

在我的C#代码中,我更改了加载的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,但是...)
1个回答

4

我通过使用方法WriteContentTo()解决了这个问题,而不是使用属性InnerHtmlOuterHtml


那节省了我大量的研究时间。谢谢。 - Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接