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-файл каждого документа, но обычный ...)

Принятый ответ

Я решил эту проблему, используя метод WriteContentTo() вместо использования свойств InnerHtml или OuterHtml



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему