HTML の検証に HTML Agility Pack を使用しています。以下は私が使用しているものです、
public class MarkupErrors
{
public string ErrorCode { get; set; }
public string ErrorReason { get; set; }
}
public static List<MarkupErrors> IsMarkupValid(string html)
{
var document = new HtmlAgilityPack.HtmlDocument();
document.OptionFixNestedTags = true;
document.LoadHtml(html);
var parserErrors = new List<MarkupErrors>();
foreach(var error in document.ParseErrors)
{
parserErrors.Add(new MarkupErrors
{
ErrorCode = error.Code.ToString(),
ErrorReason = error.Reason
});
}
return parserErrors;
}
したがって、私の入力が以下に示すようなものだとします。
<h1>Test</h1>
Hello World</h2>
<h3>Missing close h3 tag
したがって、現在の関数は次のエラーのリストを返します
- Start tag <h2> was not found
- End tag </h3> was not found
それはいいです...
私の問題は、html 全体を有効にすることです。つまり、適切な<head>
と<body>
タグを使用します。これは、この html を後でプレビューして .html ファイルとしてダウンロードできるようにするためです。
HTML Agility Pack を使用してこれを確認できるかどうか疑問に思っていましたか?
アイデアやその他のオプションをいただければ幸いです。ありがとう