Cómo manejar ParseErrors en Html Agility Pack

c# html html-agility-pack

Pregunta

Así que tengo una aplicación que recopila las secciones de encabezado y pie de página de un documento HTML y las inserta en una página web preexistente. Ambas secciones ya están envueltas en etiquetas div, por lo que el contenido dentro de las cajas no debería tener etiquetas html / body.

Dicho esto, me gustaría revisar las etiquetas que no están cerradas y cerrarlas mediante programación. Soy muy nuevo en Html Agility Pack y no estoy seguro de cómo lograr lo que quiero. Aquí está el código que he podido inferir basado en búsquedas de Google.

    private bool RepairHtml(string htmlText)
    {
        var htmlDoc = new HtmlDocument();
        htmlDoc.OptionFixNestedTags = true;
        htmlDoc.LoadHtml(htmlText);
        var parseErrors = htmlDoc.ParseErrors;

        if (parseErrors != null)
        {
           foreach (var htmlParseError in parseErrors)
           {
              switch (htmlParseError.Code)
              {
                 case: HtmlParseErrorCode.TagNotClosed:
                    // Not sure what to do here
                    break;
              }
           }
        }
     }

¿Cómo selecciono la etiqueta que generó un error y la cierro?

¡Gracias de antemano por tu ayuda!

Respuesta aceptada

Puede usar document.OptionFixNestedTags = true; para arreglarlos automáticamente.

Puede consultar aquí la lista de errores de la matriz.

Puede usar htmlParseError.Line para ver qué está causando el error. Espero que ayude



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