HtmlAgilityPack HtmlDocument.Save () Se comporta de manera diferente según el directorio donde se guarde

c# html-agility-pack

Pregunta

Necesito guardar el resultado de una página web como un archivo .html para poder convertirlo en una imagen más adelante. Aquí está el código que estoy usando para eliminar los componentes no deseados y dejar solo la tabla:

protected override void Render(HtmlTextWriter writer)
{
    using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new StringWriter()))
    {
        base.Render(htmlwriter);
        string renderedContent = htmlwriter.InnerWriter.ToString();
        string output = renderedContent.Replace(@"<input type=""submit"" name=""viewReport"" value=""View Report"" id=""viewReport"" />", "");
        output = output.Replace(@"<input type=""submit"" name=""redoEdits"" value=""Redo Edits"" id=""redoEdits"" />", "");
        output = output.Replace(@"<a href=""http://w3.td.com/td/intranet/tdweb""><img src=""Trends/TDBFGLogo5.gif"" alt=""TD Home"" title=""TD Home"" height=""40px"" width=""40px"" style=""float: left; border: none"" /></a>", "");
        output = output.Replace(@"<hr style=""background-color: #8bb093; height: 30px; width: 100%; float: left"" />", "");
        output = output.Replace(@"<h1>Network Operations Dashboard</h1>", "");

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(output);

        HtmlNode node = doc.DocumentNode.SelectSingleNode("//select[@name='Archives']");
        node.Remove();
        node = doc.DocumentNode.SelectSingleNode("//ul[@id='mainNav']");
        node.Remove();
        string fileName = currDir + "\\dashboardTableOutput.html";
        doc.Save(fileName);

        writer.Write(renderedContent);
    }
}

Cuando llamo:

doc.Save(currDir + "\\dashboardTableOutput.html");

Terminé con un archivo .html que se muestra de esta manera:

introduzca la descripción de la imagen aquí

Cuando llamo

doc.Save(currDir + "\\" + reportDir + "\\dashboardTableOutput.html");

Terminé con un archivo .html que se muestra de esta manera:

introduzca la descripción de la imagen aquí

Con todo el diseño y la información gráfica que faltan. No puedo pensar en ninguna razón por la cual el cambio del directorio en el que guardo tendría este efecto.

Cualquier consejo es apreciado.

Saludos.

Respuesta aceptada

Mi conjetura es que ya tiene un archivo .CSS en algún lugar (tal vez en currDir + "\\" + reportDir ?) Al que el archivo .html hace referencia correctamente, en un caso, y no correctamente, en el otro.



Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow