遇到试图从HTML片段中提取文本的问题

时间:2010-08-06 15:59:54

标签: c# html parsing html-agility-pack

我正在使用HTML Agility包转换

 <font size="1">This is a test</font>

 This is a test

使用此代码:

 HtmlDocument doc = new HtmlDocument();
 doc.LoadHtml(html);
 string stripped = doc.DocumentNode.InnerText;

但我遇到了一个问题,我有这个:

 <font size="1">This is a test &amp; this is a joke</font>

并且上面的代码将此转换为

This is a test &amp; this is a joke

但我希望它将其转换为:

This is a test & this is a joke

html敏捷包是否支持我想要做的事情?为什么HTML agiligy代码默认不执行此操作,或者我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以在输出上运行HttpUtility.HtmlDecode()

但请注意,InnerText将包含可能包含在最外层标记内的HTML标记。如果要删除所有标记,则必须遍历文档树并逐位检索所有文本。