如何处理Html Agility Pack中的ParseErrors

c# html html-agility-pack

所以我有一个应用程序收集HTML文档的页眉和页脚部分,并将它们插入到预先存在的网页中。这两个部分都已包装在div标签中,因此框内的内容不应包含html / body标签。

话虽这么说,我想检查未关闭的标签并以编程方式关闭它们。我是Html Agility Pack的新手,我不知道如何实现我的目标。以下是我根据Google搜索推断出的代码。

    private bool RepairHtml(string htmlText)
    {
        var htmlDoc = new HtmlDocument();
        htmlDoc.OptionFixNestedTags = true;
        htmlDoc.LoadHtml(htmlText);
        var parseErrors = htmlDoc.ParseErrors;

        if (parseErrors != null)
        {
           foreach (var htmlParseError in parseErrors)
           {
              switch (htmlParseError.Code)
              {
                 case: HtmlParseErrorCode.TagNotClosed:
                    // Not sure what to do here
                    break;
              }
           }
        }
     }

如何选择生成错误的标记并将其关闭?

在此先感谢您的帮助!

一般承认的答案

你可以使用document.OptionFixNestedTags = true;自动修复它们。

您可以在此处查看错误的数组列表。

您可以使用htmlParseError.Line来查看导致错误的原因。希望有所帮助



Related

许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow