如何處理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
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因