l paquete @HTML Agility elimina la etiqueta de rotura close
Estoy creando un documento HTML usando el paquete de agilidad HTML. Cargo un archivo de plantilla y luego le agrego contenido. Todo esto funciona, pero cuando veo el archivo de salida, elimina la etiqueta de cierre de mi<br/>
etiquetas para lucir así<br>
. ¿Qué está causando esto
Dim doc As New HtmlDocument()
doc.Load(Server.MapPath("Template.htm"))
Dim title As HtmlNode = doc.DocumentNode.SelectSingleNode("//title")
title.InnerHtml = title.InnerHtml & "CEU Classes"
Dim topContent As HtmlAgilityPack.HtmlNode = doc.GetElementbyId("topContent")
topContent.InnerHtml = html.ToString
doc.OptionWriteEmptyNodes = True
doc.Save(outputFileName, Encoding.UTF8)
Más información
Estaba eliminando mis etiquetas de imagen de cierre, después de agregardoc.OptionWriteEmptyNodes = True
, está haciendo eso bastante.
Actualiza
Este es mi código tal como está ahora que elimina la etiqueta de cierre BR
Dim html As String = "Words<br/>more words"
Dim doc As New HtmlDocument()
Dim title As HtmlNode
Dim topContent As HtmlNode
HtmlNode.ElementsFlags("br") = HtmlElementFlag.Empty
doc.Load(Server.MapPath("Template.htm"))
Title = doc.DocumentNode.SelectSingleNode("//title")
title.InnerHtml = title.InnerHtml & "CEU Classes"
topContent = doc.GetElementbyId("topContent")
topContent.InnerHtml = html.ToString
doc.OptionWriteEmptyNodes = True
doc.Save(outputFileName, Encoding.UTF8)
Update 2
Terminé leyendo en mi archivo de plantilla como una cadena estándar y luego cargando el html como este
Dim TemplateHTML As String = File.ReadAllText(Server.MapPath("Template.htm"))
TemplateHTML = TemplateHTML.Insert(TemplateHTML.IndexOf("<div id=""topContent"">") + "<div id=""topContent"">".Length, _
html.ToString)
doc.LoadHtml(TemplateHTML)