使用htmlagility pack修复丢失的HTML标记

时间:2014-04-01 05:26:11

标签: html html-agility-pack

我的输入包含

<table border="0" align="center" width="100%">
<tr><td class="header">A
<td class="header">B
<td class="header"><b>C</b>
</tr>
</table>

所需的输出是

<table border="0" align="center" width="100%">
<tr><td class="header">A</td>
<td class="header">B</td>
<td class="header"><b>C</b></td>
</tr>
</table>

我尝试了以下参考

How to fix html tags(which is missing the <open> & <close> tags) with HTMLAgilityPack

我得到的输出

<table border="0" align="center" width="100%">
<tr><td class="header"></td>A
<td class="header"></td>B
<td class="header"></td><b>C</b>
</tr>
</table>

我是这个HTML文件的新手......

提前致谢..

1 个答案:

答案 0 :(得分:2)

Html Agility Pack有一个特殊选项可用作HtmlDocument类的属性,名为OptionFixNestedTags,用于修复此类HTML错误:

    static void Main(string[] args)
    {
        HtmlDocument doc = new HtmlDocument();
        doc.OptionFixNestedTags = true;
        doc.Load(YourFile);

        doc.Save(Console.Out);
    }

这将输出:

<table border="0" align="center" width="100%">
<tr><td class="header">A
</td><td class="header">B
</td><td class="header"><b>C</b>
</td></tr>
</table>