HTMLファイルは通常、WebサイトまたはWebアプリケーションに情報を表示するために使用されます。これは実際には、テキストをフォーマットすることもできるマークアップテキストです。 HTMLファイルには、テキスト、画像、グラフ、図、その他多くのコンテンツを含む多くのデータが含まれている可能性があるため、非常に大きい場合があります。さまざまな要件やユースケースでHTMLファイルを分割する必要がある場合があります。 C#を使用してHTMLファイルを複数のファイルに分割する方法を見てみましょう。
C#のHTMLスプリッター–APIのインストール
Aspose.HTML for .NET APIは、C#プログラミング言語を使用した.NET FrameworkベースのアプリケーションでのHTML Webページの作成または操作をサポートします。 ダウンロードセクションから最新のDLLファイルをダウンロードするか、NuGetギャラリーから次のインストールコマンドを使用して、APIを簡単にインストールできます。
PM> Install-Package Aspose.Html
HTML WebページをC#で複数のファイルに分割する
Aspose.HTML for .NET APIには、豊富な機能セットがあります。ロードされたHTMLドキュメントのコンテンツを別のHTMLドキュメントにコピーできます。ただし、HTMLは固定レイアウト形式ではなく、PDFやDOCXなどの特定のデバイスに印刷するまでページがないため、他の固定レイアウトのようにコンテンツをページに分割できるメソッドやプロパティを見つけることができません。レイアウト形式。したがって、HTMLを分割する適切な場所を見つけ、それに応じて分割ロジックを設計する必要があります。
この例では、段落要素に基づいてHTML Webページを分割する必要がある例を検討します。したがって、次の手順は、HTML Webページを段落ごとに分割する方法を示しています。
- 入力HTML Webページをロードします
- クエリセレクタを使用して、HTMLドキュメント内のすべての段落要素を検索します
- HTMLファイルを分割する空のドキュメントを作成します
- 出力HTMLファイルを保存します
以下のコードスニペットは、C#を使用してHTML Webページを複数のファイルに分割する方法をさらに詳しく説明しています。
String content = File.ReadAllText(dataDir1 + "Product.html");
// HTMLドキュメントのインスタンスを作成します
var document = new HTMLDocument(content, "");
// HTML Webページを複数のファイルに分割
// CSS Selector Queryを使用して、ドキュメント内のすべての段落要素を検索します
var elements = document.QuerySelectorAll("p");
for (int i = 0; i < elements.Length; i++)
{
// コンテンツをエクスポートするための空のドキュメントを作成する
using (var copyTo = new HTMLDocument())
{
// 以前に作成したドキュメントにコンテンツを追加します
copyTo.DocumentElement.AppendChild(elements[i]);
// ドキュメントを保存する
copyTo.Save(dataDir1 + "doc_" + i + ".html", HTMLSaveFormat.HTML);
}
}
結論
この記事では、C#を使用してHTML Webページを複数のファイルに分割する方法について学習しました。さまざまな段落要素に基づいてファイルを分割する例を検討しました。同様に、各出力ファイルで5段落または10段落を分割するロジックを即興で作成できます。要件に応じて、HTML Webページを分割するための他のさまざまなユースケースが存在する可能性があります。その他のユースケースやシナリオについてサポートが必要な場合は、無料サポートフォーラムまでお気軽にご連絡ください。喜んでお手伝いさせていただきます!