読者です 読者をやめる 読者になる 読者になる

Tidy.NETでHTMLを清書する

C# .NET

下記のページによれば、汚いHTMLをXHTMLに清書できる(はず)。

こんな感じ↓

string cleanupHtml(string text)
{
    Tidy doc = new Tidy();
    TidyMessageCollection messages = new TidyMessageCollection();
    MemoryStream input = new MemoryStream();
    MemoryStream output = new MemoryStream();

    byte[] array = Encoding.UTF8.GetBytes(text);
    input.Write(array, 0, array.Length);
    input.Position = 0;

    doc.Options.DocType = DocType.Strict;
    doc.Options.Xhtml = true;
    doc.Options.LogicalEmphasis = true;

    doc.Options.MakeClean = false;
    doc.Options.SmartIndent = false;
    doc.Options.IndentContent = false;
    doc.Options.TidyMark = false;

    doc.Options.DropFontTags = false;
    doc.Options.QuoteAmpersand = true;
    doc.Options.DropEmptyParas = true;

    doc.Options.CharEncoding = CharEncoding.UTF8;
    doc.Parse(input, output, messages);

    string result = Encoding.UTF8.GetString(output.ToArray());
    return result;
}

日本語通るかやってみたが、ダメだった。orz
ソースコードをちらっと見てみたけど大丈夫そうなんだけどなー。

↑ウソ:これが原因。

しょうがないので、こっちでやります。