4

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()));

ありがとう。

4

1 に答える 1

3

w3c は無料のオンラインバリデーターを提供しています。検証のために生成されたドキュメントを送信するラッパーを作成できます。直接入力による検証は、おそらく自動化する最も簡単なオプションです。HTML5 の検証は実験的なものです。これを大規模に行う場合は、利用規約を確認してください。

http://validator.w3.org/#validate_by_input+with_options

validator.nuは、RESTful API を使用して同様のサービスを提供しています。

于 2012-05-21T22:12:58.747 に答える