【发布时间】:2014-03-29 07:27:14
【问题描述】:
有没有办法将 HtmlAgilityPack 设置为完全按照输入的方式保留标记?我的问题是我允许用户在他们的网站上设置数据输出的 html 布局。它们使用的格式类似于 ASP.NET 的转发器控件。
举个例子:
<table>
<ItemTemplate>
<tr>
<td>
<div>Item Markup</div>
</td>
</ItemTemplate>
<AltItemTemplate>
<td>
<div>Alternate Item Markup</div>
</td>
</tr>
</AltItemTemplate>
</table>
当我将它加载到 HtmlAgilityPack 中时,它会将关闭 tr 标记添加到 ItemTemplate 并从 AltItemTemplate 中删除实际关闭 tr 标记。在处理的后期,<ItemTemplate></ItemTemplate> 和备用标签被删除,这将产生有效的 html。当 HtmlAgilityPack 加载它时,它不会生成有效的 html。
我可以并且已经通过字符串操作成功地解析了这个,但是,我认为如果我可以使用 HtmlAgilityPack,那么它会更高效,更容易使用。
有人知道我是否可以使用 HtmlAgilityPack 来做到这一点?或者我是否应该坚持使用字符串操作(.NET 的子字符串、indexof、remove 等)。
【问题讨论】:
标签: asp.net string html-agility-pack