Aspose.HTML for .NET で HTML を読み込む
Aspose.HTML for .NET は、HTML をメモリ上のドキュメントツリーである HTMLDocument に読み込みます。このツリーは、DOM クエリ、コンテンツ変更、データ抽出、保存、変換に使用できます。 HTMLDocument コンストラクター は、ローカルパス、リモート URL、マークアップ文字列、ストリームを受け取ります。
C# で HTML ファイルを読み込む
ローカルファイルのパスを HTMLDocument コンストラクターに渡します。読み込み後は、解析済み DOM にアクセスできます。次の例では input.html を開き、
OuterHTML
でドキュメント要素全体のマークアップを取得します。
ファイルから HTML ドキュメントを読み込む C# コード
using System;
using Aspose.Html;
using HTMLDocument document = new HTMLDocument("input.html");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
HTML ソースとコンストラクターの選択
- ローカルファイル。 HTML がディスク上にあり、相対リソースをドキュメントの場所から解決する場合にパスを渡します。
- リモート URL。 Web ページと許可された外部リソースを読み込む場合に HTTP または HTTPS アドレスを渡します。
- マークアップ文字列。 HTML コードがメモリ上にある場合に、ベース URL とともに渡します。
- ストリーム。 アップロード、レスポンス本文、データベースなどから HTML を受け取る場合に、読み取り可能なストリームとベース URL を渡します。
C# で URL から HTML を読み込む
アドレスを 1 つ受け取るコンストラクターでリモート Web ページを開けます。URL 読み込みでは、アクセス可能で環境設定によって許可された外部リソースも処理されます。読み込み後は DOM のプロパティとメソッドでドキュメントを確認または変更できます。
URL から HTML ドキュメントを読み込む C# コード
using System;
using Aspose.Html;
using HTMLDocument document =
new HTMLDocument("https://docs.aspose.com/html/net/creating-a-document/");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
C# で文字列から HTML を読み込む
HTML マークアップが文字列として既に存在する場合は、2 引数のコンストラクターを使用します。第 2 引数は、相対的な画像、スタイルシート、スクリプト、フォント、リンクを解決するためのベース URL です。この自己完結した例では現在のディレクトリを表す "." を使用します。相対参照がある場合は、実際のディレクトリまたは Web アドレスを指定してください。
文字列から HTML ドキュメントを作成する C# コード
using System;
using Aspose.Html;
string markup = "<p>HTML loaded from a string</p>";
// Use the current directory as the base URL
string baseUrl = ".";
using HTMLDocument document = new HTMLDocument(markup, baseUrl);
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
C# でストリームから HTML を読み込む
ストリーム用コンストラクターは現在位置から読み取ります。HTML を書き込んだ直後は、writer をフラッシュして位置を先頭に戻してからドキュメントを作成します。HTMLDocument が読み終わるまでストリームを開いたままにしてください。この例のマークアップには相対リソースがないため、現在のディレクトリを表す "." を使用します。
ストリームから HTML ドキュメントを読み込む C# コード
using System;
using System.IO;
using System.Text;
using Aspose.Html;
using MemoryStream stream = new MemoryStream();
// Keep the stream open after disposing the writer
using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8, 1024, true))
{
writer.Write("<p>HTML loaded from a stream</p>");
writer.Flush();
}
// Reset the stream before HTMLDocument reads it
stream.Position = 0;
using HTMLDocument document =
new HTMLDocument(stream, ".");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
HTML 読み込みの動作と注意点
- コンストラクターは HTML を DOM に解析します。 結果のツリーは HTML の解析規則に従います。後のシリアル化で構造やマークアップが正規化されるため、元データとのバイト単位の一致は保証されません。
- ベース URL は相対リソースを制御します。 文字列とストリームには固有の場所がありません。CSS、画像、スクリプト、フォント、リンクを解決する基準位置を指定します。
- ドキュメントコンストラクターは同期的に読み込みます。 非同期ナビゲーションが必要な場合は、
Navigate()とドキュメントイベントを使用します。 - リモート読み込みは環境に依存します。 無効な URL、リダイレクト、認証、ネットワーク障害、セキュリティ制限によって読み込みに失敗する場合があります。
- 読み込んだドキュメントを破棄します。
HTMLDocumentはドキュメントとリソースの状態を保持します。using宣言またはブロックで処理後に解放してください。
HTML 読み込みのドキュメントと API リファレンス
HTML ドキュメントの作成または読み込み では、コンストラクター、ベース URL、非同期ナビゲーション、一般的な問題を説明しています。読み込み後は HTML DOM でノードを移動し、 HTML ドキュメントの編集 でコンテンツと属性を変更できます。既存のソースがない場合は、 C# で HTML を作成 を参照してください。
Aspose.HTML for .NET のインストール
.NET CLI を使用して、NuGet から Aspose.HTML for .NET をインストールします。
dotnet add package Aspose.HTML
NuGet パッケージ マネージャーの UI を使用するか、パッケージ マネージャー コンソールで Install-Package Aspose.HTML を実行することもできます。セットアップの詳細は
インストール ガイド
を参照してください。評価制限なしで API を試すには、
一時ライセンス
を申請できます。
HTML 読み込みに関する FAQ
1. C# で HTML ドキュメントを読み込むにはどうすればよいですか?
ローカルパスまたは URL を HTMLDocument コンストラクターに渡します。文字列またはストリームのマークアップでは、コンテンツとベース URL を渡します。コンストラクターがソースを解析して HTML DOM を公開します。
2. HTML を読み込むと元のマークアップが完全に保持されますか?
バイト単位の一致には依存しないでください。Aspose.HTML はソースを DOM に解析し、後のシリアル化で暗黙の要素、文字エンコーディング、空白、構造が正規化される場合があります。
3. Aspose.HTML は Web ページを非同期に読み込めますか?
はい。コンストラクターは同期的に読み込みます。
HTML の非同期読み込み
では、ドキュメントの作成、OnReadyStateChange または OnLoad の購読、Navigate() の呼び出し、タイムアウトの設定を説明しています。
4. リモート HTML ドキュメントを読み込めないのはなぜですか?
無効または到達不能な URL、リダイレクト、認証要件、ネットワーク制限、ブロックされた外部リソース、セキュリティ設定などが原因です。アドレスを確認し、必要なネットワークアクセスだけを許可してください。
5. HTML 読み込み時に外部リソースを制限するにはどうすればよいですか?
必要なセキュリティ設定とリソース読み込み設定を適用した Configuration でドキュメントを作成します。特にユーザー由来の HTML や URL では、リモートアクセスを信頼できる場所に限定してください。
関連する HTML ドキュメント処理
ドキュメントの作成、編集、要素選択、構造化クエリに進みます。