HTML ファイルを効率的に操作する方法を探している C# プログラマーは、この記事を参考にしてください。 HTML ファイルをゼロから作成する方法から、既存のドキュメントを読み取って編集する方法まで、C# が HTML ファイルを操作する方法の基本について説明します。この記事では、C# で HTML ファイルを作成、読み取り、編集する方法を学習します。
HTML (Hyper Text Markup Language) は、Web サイトや Web ページを作成するために使用される言語です。一方、C# は、アプリケーションの構築に使用されるオブジェクト指向プログラミング言語です。 HTML ファイルには、ブラウザで表示する Web ページの構造をフォーマットするために使用されるマークアップ タグが含まれています。 HTML ファイルは、.NET アプリケーションでプログラムによって簡単に操作できます。この記事では、C# を使用して HTML ファイルの読み取り、書き込み、および編集を行う方法について説明します。特定の要素の HTML コードを解析し、新しい要素を最初から作成するか、既存の要素を編集する方法を見ていきます。さぁ、始めよう!
この記事では、次のトピックについて説明します。
HTML ファイルを作成、読み取り、編集するための C# API
HTML ファイルを作成、読み取り、編集するには、Aspose.HTML for .NET API を使用します。これは、HTML ドキュメントからのデータの作成、変更、および抽出を可能にする高度な HTML 処理 API です。また、外部ソフトウェアなしで HTML ドキュメントを変換およびレンダリングすることもできます。
API の HTMLDocument クラスは、ブラウザーに表示される HTML ドキュメントまたは HTML ページを表します。このクラスの CreateElement() メソッドは、tagName で指定された HTML 要素を作成します。 CreateTextNode(string) メソッドは、指定された文字列を指定して Text ノードを作成します。 Node インターフェイスの AppendChild() メソッドは、指定された親ノードの子のリストの最後にノードを追加します。 Save() メソッドは、出力ファイルを保存します。 DOM 名前空間 の詳細については、ドキュメントを参照してください。
APIのDLLをダウンロードするか、NuGetを使ってインストールしてください。
PM> Install-Package Aspose.Html
C# で HTML ファイルを作成する
以下の手順に従って、HTML ファイルを簡単に作成できます。
- まず、HTMLDocument クラスのインスタンスを作成します。
- 次に、CreateElement() メソッドを呼び出して、見出し、段落、テキストなどの要素を作成します。
- 次に、CreateTextNode() メソッドを呼び出して、テキスト ノードを追加します。
- 次に、AppendChild() メソッドを使用して、作成したノードを要素に追加します。
- その後、HTMLDocument.Body.AppendChild() メソッドを使用して、ドキュメントの本文に要素を添付します。
- 上記の手順を繰り返して、さらに要素を追加します。
- 最後に、Save() メソッドを使用して HTML ドキュメントを保存します。出力ファイルのパスを引数として取ります。
次のコード サンプルは、C# を使用して HTML ファイルを作成する方法を示しています。
// このコード例は、HTML ドキュメントを作成する方法を示しています。
// 空の HTML ドキュメントを作成する
var document = new HTMLDocument();
// 見出しを追加
// 1.見出し要素を作成する
var h2 = (HTMLHeadingElement)document.CreateElement("h2");
// 2. テキスト要素を作成する
var text = document.CreateTextNode("This is Sample Heading!");
// 3. 見出しにテキスト要素を追加する
h2.AppendChild(text);
// 4. 見出しを追加 to the document
document.Body.AppendChild(h2);
// 段落を追加
// 1.段落要素を作成する
var p = (HTMLParagraphElement)document.CreateElement("p");
// 2. カスタム属性を設定する
p.SetAttribute("id", "first-paragraph");
// 3. テキスト ノードを作成する
var paraText = document.CreateTextNode("This is first paragraph. ");
// 4. 段落にテキストを追加する
p.AppendChild(paraText);
// 5.文書本文に段落を添付する
document.Body.AppendChild(p);
// 番号付きリストを追加
// 段落要素を作成する
var list = (HTMLOListElement)document.CreateElement("ol");
// 追加項目 1
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));
// 追加項目 2
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));
// リストにアイテムを追加する
list.AppendChild(item1);
list.AppendChild(item2);
// 文書本文にリストを添付
document.Body.AppendChild(list);
// HTML ドキュメントをファイルに保存する
document.Save(@"C:\Files\html\create-new-document.html");
C# で HTML ファイルを読み取る
前のセクションでは、HTML ファイルを作成しました。次に、以下の手順に従ってファイルをロードし、その内容を読み取ります。
- HTMLDocument クラスを使用して、既存の HTML ファイルを読み込みます。
- HTMLDocument.DocumentElement.OuterHTML のコンテンツを読み取って表示します。
次のコード サンプルは、C# を使用して HTML ファイルを読み取る方法を示しています。
// このコード例は、HTML ファイルを読み取る方法を示しています
// ドキュメントを保存するための出力パスを準備する
string documentPath = @"C:\Files\html\create-new-document.html";
// HTML ファイルを読み込む
var document = new HTMLDocument(documentPath);
// ドキュメントの内容を出力ストリームに書き込みます
Console.WriteLine(document.DocumentElement.OuterHTML);
<html><head></head><body><h2>This is Sample Heading!</h2><p id="first-paragraph">This is first paragraph. </p><ol><li>First list item.</li><li>Second list item.</li></ol></body></html>
C# で HTML ファイルを編集する
HTML ファイルの内容を更新することもできます。上記の手順に従って、さらにノード/要素を追加できます。ただし、以下の手順に従って、既存のメモ/要素を変更できます。
- HTMLDocument クラスを使用して、既存の HTML ファイルを読み込みます。
- 次に、CreateTextNode() メソッドを呼び出して、テキスト ノードを追加します。
- 次に、GetElementsByTagName() メソッドを使用して最初の段落要素を取得します。引数として「p」を取ります。
- その後、AppendChild() メソッドを呼び出して、テキスト ノードを追加します。
- 上記の手順を繰り返して、さらに要素を変更します。
- 最後に、Save() メソッドを使用して HTML ドキュメントを保存します。出力ファイルのパスを引数として取ります。
次のコード サンプルは、C# を使用して HTML ファイルを変更する方法を示しています。
// このコード例は、HTML ファイルの内容を編集する方法を示しています。
// ドキュメントを保存するための出力パスを準備する
string documentPath = @"C:\Files\html\create-new-document.html";
// HTML ドキュメントのインスタンスを作成する
var document = new HTMLDocument(documentPath);
// テキスト ノードを作成する
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// 最初の段落要素を取得する
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);
// HTML ドキュメントをファイルに保存する
document.Save(@"C:\Files\html\modify.html");
次のコード サンプルは、新しい要素を追加して既存の要素を変更する、より複雑な例を示しています。
// このコード例は、作成中の HTML ファイル内の要素を編集する方法を示しています。
// ドキュメントを保存するための出力パスを準備する
string documentPath = @"C:\Files\html\create-new-document.html";
// HTML ドキュメントのインスタンスを作成する
var document = new HTMLDocument(documentPath);
// スタイル要素を作成し、クラス名が「gr」に等しいすべての要素に緑色を割り当てます。
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";
// ドキュメントのヘッダー要素を見つけて、スタイル要素をヘッダーに追加します
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);
// テキスト ノードを作成する
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// クラス名「gr」の段落要素を作成します。
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);
// 段落要素を作成する
var newPara = (HTMLParagraphElement)document.CreateElement("p");
// テキスト ノードを作成する
var paraText = document.CreateTextNode("This is second paragraph. ");
// 段落にテキストを追加する
newPara.AppendChild(paraText);
// ドキュメント本文に段落を添付
document.Body.AppendChild(newPara);
// HTML ドキュメントをファイルに保存する
document.Save(@"C:\Files\html\edit.html");
C# で生の HTML コンテンツを追加する
要素の InnerHTML プロパティを使用して HTML コードをコンテンツとして手動で追加することにより、要素を追加または編集できます。以下の手順に従って、未加工の HTML を追加できます。
- まず、HTMLDocument クラスのインスタンスを作成します。
- 次に、Body.InnerHTML 要素のコンテンツを生の HTML 文字列として設定します。
- 最後に、Save() メソッドを使用して HTML ドキュメントを保存します。出力ファイルのパスを引数として取ります。
次のコード サンプルは、C# を使用して生の HTML コンテンツをファイルに追加する方法を示しています。
// このコード例は、Raw HTML を HTML 本文に追加する方法を示しています。
// HTML ドキュメントのインスタンスを作成する
using (var document = new HTMLDocument())
{
// HTML ドキュメントのコンテンツをコンソール出力に書き込みます
Console.WriteLine(document.DocumentElement.OuterHTML);
// body要素の内容を設定する
document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";
/// HTMLドキュメントをファイルに保存
document.Save(@"C:\Files\html\using-innerHTML.html");
}
無料ライセンスを取得
無料の一時ライセンスを取得して、評価制限なしで Aspose.HTML for .NET を試すことができます。
結論
この記事では、次の方法を学びました。
- プログラムで HTML ドキュメントを作成します。
- ローカル ディスク パスから既存の HTML ドキュメントをロードします。
- 読み込まれたファイルから HTML を読み取ります。
- 新しいコンテンツを既存の HTML ファイルに追加します。
- C# で既存のコンテンツを変更します。
C# で HTML ファイルを作成、読み取り、編集するだけでなく、ドキュメント を使用して Aspose.HTML for .NET API の詳細を学ぶことができます。ご不明な点がございましたら、無料サポート フォーラム までお気軽にお問い合わせください。