0

受信メールの本文を処理する必要があります。それらは、プレーン テキスト、HTML、および RichText 形式で提供されます。本文テキストに対してテキスト マッチング アルゴリズムを実行する必要がありますが、HTML タグと RichText タグがそれらを混乱させます。プレーンテキストデータを取得する方法はありますか?

両方の形式を自動的に解析できる方法を探しています (たとえば、Total コマンダーで F3 を押すと、HTML ファイルと RTF ファイルの両方にテキストが表示されます)。

商用ソリューションもオプションです。

前もって感謝します。

4

2 に答える 2

2

htmlの場合、HtmlAgilityPackを使用します。例えば、

HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(html);

foreach(var node in document.DocumentNode.Descendants("script").ToList())
{
    node.Remove();
}

var text = document.DocumentNode.InnerText;

rtfの場合は、RichTextBoxにロードして、テキストとして保存します。

IFilterインターフェース(ここここのような)を使用することは別のオプションである可能性があります

于 2012-08-05T09:04:24.310 に答える
0

免責事項: 私はこれらのライブラリの開発者です

はい、HTML には「&#XXX;」などの Unicode 記号が含まれる場合があります。または「」。また、たとえば、HTML に 3 列 2 行の表がある場合、この結果を表形式のテキストとして表示するとよいでしょう。

1 2 3

4 5 6

「1 2 3 4 5 6」の代わりに。

これらの.Net ライブラリは、HTML および RTF を Text に変換するのに役立ちます

サンプル #1 - HTML を Unicode テキストに変換します。

        SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
        h.OutputFormat=SautinSoft.HtmlToRtf.eOutputFormat.TextUnicode;
        string text = h.ConvertString(htmlString);

サンプル #2 - RTF を Unicode テキストに変換します。

        SautinSoft.RtfToHtml r = new SautinSoft.RtfToHtml();
        r.OutputFormat = SautinSoft.RtfToHtml.eOutputFormat.Text;
        string text = r.ConvertString(rtfString);
于 2012-08-23T07:18:03.697 に答える