HtmlAgility パックで生成した HTML が有効な HTML5 であることを確認したいと考えています。
たとえば、次は空の HTML5 ドキュメントを作成します。より複雑なドキュメントを作成する他の同様の関数を用意します。私が何かを台無しにしていないこと、および結果の HTML が整形式で有効であることを検証するテストが必要です。
public static String CreateEmptyHtmlDoc()
{
var hd = new HtmlDocument();
var doctype = hd.DocumentNode.SelectSingleNode("/comment()[starts-with(.,'<!DOCTYPE')]");
if (doctype == null)
doctype = hd.DocumentNode.PrependChild(hd.CreateComment());
doctype.InnerHtml = "";
hd.DocumentNode.AppendChild(
HtmlNode.CreateNode(
"<HTML><HEAD><META CHARSET=\"UTF-8\"><TITLE></TITLE></HEAD><BODY></BODY></HTML>"));
return hd.DocumentNode.OuterHtml;
}
HtmlAgility Pack を使用して「html5 バリデータ」を構築するには、次のようなことができます。
Assert.IsTrue(IsValidHtml5(CreateEmptyHtmlDoc()));
ありがとう。