El html interno de C # HtmlAgilityPack no cambia después de agregar el nodo

c# html html-agility-pack nodes tree

Pregunta

En mi C #, cambio el html cargado y necesito obtener el documento html como texto sin formato. Pero cada vez que agrego un nuevo nodo a uno de los nodos del documento, el html interno del nodo raíz no cambia, incluso si el nuevo nodo se agrega con éxito. Después de la depuración, noté que solo los padres del nuevo nodo tienen el cambio en su propiedad InnerHtml, por ejemplo:

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

Teniendo:

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

node2.InnerHtml será

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

pero root.InnerHtml es

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

¿Cómo puedo solucionar este derecho? (Sé que podría actualizar manualmente el html interno del nodo de cada documento, pero común ...)

Respuesta aceptada

InnerHtml este problema usando el método WriteContentTo() lugar de usar las propiedades InnerHtml o OuterHtml



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué