Пакет HTML Agility удаляет тег прерывания close

Я создаю HTML-документ, используя HTML agility pack. Я загружаю файл шаблона, а затем добавляю в него содержимое. Все это работает, но когда я просматриваю выходной файл, он удалил закрывающий тег из моих тегов
, чтобы он выглядел так
. Что вызывает это?

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)

Дополнительная информация:

Он удалял мои закрывающие теги изображений, после того как я добавил doc.OptionWriteEmptyNodes = True , он вполне справлялся.

Обновление

Это мой код в его нынешнем виде, который удаляет закрывающий тег 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)

Обновление 2

В итоге я просто прочитал файл шаблона как стандартную строку, а затем загрузил html, как этот

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)
16
задан guanome 27 April 2011 в 15:04
поделиться