C#HtmlAgilityPackノードを追加した後、内部HTMLが変更されない


質問

私のC#で私は読み込まれたHTMLを変更し、プレーンテキストとしてHTML文書を取得する必要があります。しかし、ドキュメントのノードの1つに新しいノードを追加するたびに、新しいノードが正常に追加されたとしても、ルートノードの内部htmlは変更されません。デバッグ後、新しいノードの親ノードだけがInnerHtmlプロパティの変更を認識しました。たとえば、次のようになります。

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

持っている:

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

node2.InnerHtmlになります

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

しかしroot.InnerHtmlは

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

どうすればこの権利を修正できますか? (私は手動ですべての文書のノードの内部HTMLを更新することができますが、共通...)

受け入れられた回答

私はこの問題を、 InnerHtmlまたはOuterHtml代わりにWriteContentTo()メソッドを使用して解決しOuterHtml





ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ