この簡単なハウツーは、** HTMLをC#でテキストに変換する**方法を示しています。 * C#HTMLからプレーンテキスト*への変換は、Windows、macOS、またはLinuxプラットフォームで実行されている.NETベースのアプリケーションに数行のコードを使用することで簡単に実現できます。
C#でHTMLをテキストに変換する手順
- NuGetパッケージマネージャーからAspose.HTML for .NETをインストールします
- プロジェクトにAspose.HTML名前空間を含めます
- HTMLファイルのコンテンツを文字列にロードする
- HTMLDocumentクラスのインスタンスを作成して、HTMLを含む文字列を読み込みます
- INodeIteratorクラスインスタンスをインスタンス化して、ノードを反復処理し、StringBuilderに追加します
- 最後に、変換されたテキストをHTMLからディスクに保存します
- HTML C#からプレーンテキストを取得するために、.NETベースのアプリケーションで数行のコードを効果的に使用できます。このプロセスは、 File.ReadAllText メソッドを使用して、HTMLファイルをStringとしてHTMLDocumentクラスインスタンスにロードすることから始まります。次に、 INodeIterator *を使用してHTMLからノードを抽出し、StringBuilderに追加します。最後に、StringBuilderで抽出されたHTMLがディスクに保存されます。
C#でHTMLをテキストに変換するコード
using System; | |
using System.IO; | |
using System.Text; | |
using Aspose.Html; | |
using Aspose.Html.Dom.Traversal; | |
using Aspose.Html.Dom.Traversal.Filters; | |
namespace KbHtml | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Set the API license to extract HTML text | |
License license = new License(); | |
license.SetLicense("Aspose.Html.lic"); | |
// Reading HTML file content | |
String HtmlContent = File.ReadAllText("Test2.html"); | |
// Create an object of HTMLDocument | |
using (var HtmlDocument = new HTMLDocument(HtmlContent, "")) | |
{ | |
// Initialize the instance of node iterator to iterate HTML | |
INodeIterator iterator = HtmlDocument.CreateNodeIterator(HtmlDocument, NodeFilter.SHOW_TEXT, | |
new StyleFilter()); | |
StringBuilder Stringbld = new StringBuilder(); | |
Aspose.Html.Dom.Node node; | |
// Iterate through Nodes | |
while ((node = iterator.NextNode()) != null) | |
Stringbld.Append(node.NodeValue); | |
Console.WriteLine(Stringbld.ToString()); | |
File.WriteAllText(@"HtmlToText.txt", Stringbld.ToString()); | |
} | |
} | |
} | |
class StyleFilter : NodeFilter | |
{ | |
public override short AcceptNode(Aspose.Html.Dom.Node node) | |
{ | |
// In order to avoid any element during fetching nodes, write the name of element in capital letters | |
return (node.ParentElement.TagName == "STYLE" || node.ParentElement.TagName == "SCRIPT" | |
? FILTER_REJECT : FILTER_ACCEPT); | |
} | |
} | |
} |
上記のC#のコードは、いくつかのAPI呼び出しを使用してHTMLをプレーンテキストに変換します。 NodeFilterクラスを継承するカスタマイズされたStyleFilterクラスを使用して、変換プロセス中にHTMLから望ましくないノードをフィルターで除外するAcceptNodeメソッドをオーバーライドしました。
前のトピックでは、C#でHTMLファイルを作成するの方法を学びました。一方、上記の* C#の例では、プログラムでHTML*ファイルからプレーンテキストを取得します。