asp.net – HTML敏捷包删除break标签关闭
发布时间:2020-05-24 00:00:15 所属栏目:asp.Net 来源:互联网
导读:我正在使用HTML敏捷包创建一个HTML文档.我加载一个模板文件,然后附加内容.所有这些都有效,但是当我查看输出文件时,它已经从我的 br /标签看起来像这样 brgt ;.是什么原因造成的? Dim doc As New HtmlDocument()doc.Load(Server.MapPath(Template.htm))Dim ti
|
我正在使用HTML敏捷包创建一个HTML文档.我加载一个模板文件,然后附加内容.所有这些都有效,但是当我查看输出文件时,它已经从我的< br />标签看起来像这样< br> ;.是什么原因造成的? 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)
解决方法这是因为Html Agility Pack以特殊的方式处理BR.它仍然支持旧的(但现在在网络上)HTML 3.2语法,BR可以声明没有结束标签(浏览器也仍然通过…优雅地处理它).要更改此默认行为,您需要修改HtmlNode.ElementFlags属性,如下所示: Dim doc As New HtmlDocument()
HtmlNode.ElementsFlags("br") = HtmlElementFlag.Empty
doc.LoadHtml("<test>before<br/>after</test>")
doc.OptionWriteEmptyNodes = True
doc.Save(Console.Out)
将显示: <test>before<br />after</test> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 从ASP.NET MVC2升级到MVC3的原因
- 只需发布已修改的控制器,模型和ASP.NET MVC项目的某些部分
- asp.net-mvc-3 – ASP.NET MVC 3,Razor Views和便携式区域
- asp.net – 缺少AuthenticationManager引用
- asp.net-mvc-4 – 使用asp.net MVC4,如何在默认情况下执行r
- iis-7 – IIS重置会强制缓存项目重新发送吗?
- asp.net-mvc – ASP.NET MVC ActionLink外部区域
- asp.net-mvc-4 – 如何防止复杂类型的默认绑定器?
- 在ASP.NET中使用新的会话ID打开一个新的浏览器窗口
- ASP.NET登录页面重定向问题
推荐文章
站长推荐
- 如何为ASP.NET 5 MVC 6实现NoSQL身份提供程序
- asp.net-mvc-3 – 单元测试一个文件上传,怎么样?
- asp.net-mvc – User.Identity.Name在ASP.Net MV
- 实体框架 – 对ASP.NET MVC Onion架构的意见
- asp.net – Ajax.ActionLink不工作,Response.IsA
- asp.net-mvc – 将asp.net服务器参数传递给Angul
- asp.net – 如何访问嵌套母版页中的控件?为什么
- ASP.NET MVC 2.0 – RenderPartial和RenderActio
- asp.net-mvc-2 – 使用或不使用AutoMapper的“合
- asp.net中的SqlDependency
热点阅读
