在 C# 中創建、讀取和編輯 HTML 文件

HTML(超文本標記語言)文件包含用於格式化網頁結構以便在瀏覽器中顯示的標記標籤。我們可以在 .NET 應用程序中輕鬆地以編程方式操作 HTML 文件。在本文中,我們將學習如何在 C# 中創建、讀取和編輯 HTML 文件。

本文應涵蓋以下主題:

  1. 用於創建、讀取和編輯 HTML 文件的 C# API
  2. 創建 HTML 文件
  3. 讀取 HTML 文件
  4. 編輯 HTML 文件
  5. 在 C# 中添加原始 HTML 內容

用於創建、讀取和編輯 HTML 文件的 C# API

要創建、讀取和編輯 HTML 文件,我們將使用 Aspose.HTML for .NET API。它是一種高級 HTML 處理 API,允許從 HTML 文檔創建、修改和提取數據。它還允許在沒有任何外部軟件的情況下轉換和呈現 HTML 文檔。

API 的 HTMLDocument 類表示我們在瀏覽器中看到的 HTML 文檔或 HTML 頁面。此類的 CreateElement() 方法創建由 tagName 指定的 HTML 元素。 CreateTextNode(string) 方法在給定指定字符串的情況下創建一個文本節點。 Node 接口的 AppendChild() 方法將一個節點添加到指定父節點的子節點列表的末尾。 Save() 方法保存輸出文件。您還可以在文檔中閱讀有關 DOM 名稱空間 的更多信息。

下載 API 的 DLL 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Html

在 C# 中創建一個 HTML 文件

我們可以按照以下步驟輕鬆創建 HTML 文件:

  1. 首先,創建 HTMLDocument 類的一個實例。
  2. 接下來,調用 CreateElement() 方法創建標題、段落、文本等元素。
  3. 然後,調用 CreateTextNode() 方法添加文本節點。
  4. 接下來,使用 AppendChild() 方法將創建的節點附加到元素。
  5. 之後,使用 HTMLDocument.Body.AppendChild() 方法將元素附加到文檔主體。
  6. 重複上述步驟添加更多元素。
  7. 最後,使用 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."));

// 將 li 項添加到列表中
list.AppendChild(item1);
list.AppendChild(item2);

// 將列表附加到文檔正文 
document.Body.AppendChild(list);

// 將 HTML 文檔保存到文件 
document.Save(@"C:\Files\html\create-new-document.html");
在 CSharp 中創建 HTML 文件

在 C# 中創建一個 HTML 文件

在 C# 中讀取 HTML 文件

在上一節中,我們創建了一個 HTML 文件。現在,我們將按照以下步驟加載文件並讀取其內容:

  1. 使用 HTMLDocument 類加載現有的 HTML 文件。
  2. 讀取並顯示 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 文件的內容。我們可以按照上述步驟添加更多節點/元素。但是,我們可以按照以下步驟修改現有的註釋/元素:

  1. 使用 HTMLDocument 類加載現有的 HTML 文件。
  2. 接下來,調用 CreateTextNode() 方法來添加文本節點。
  3. 接下來,使用 GetElementsByTagName() 方法獲取第一個段落元素。它以“p”作為參數。
  4. 之後,調用 AppendChild() 方法追加文本節點。
  5. 重複上述步驟修改更多元素。
  6. 最後,使用 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");
在 CSharp 中編輯 HTML 文件

在 C# 中編輯 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");
使用 CSharp 在 HTML 文件中添加編輯元素

使用 C# 在 HTML 文件中添加和編輯元素

在 C# 中添加原始 HTML 內容

我們可以通過使用元素的 InnerHTML 屬性手動添加 HTML 代碼作為內容來添加或編輯元素。我們可以按照以下步驟添加原始 HTML:

  1. 首先,創建 HTMLDocument 類的一個實例。
  2. 接下來,將 Body.InnerHTML 元素的內容設置為原始 HTML 字符串。
  3. 最後,使用 Save() 方法保存 HTML 文檔。它以輸出文件路徑作為參數。

以下代碼示例展示瞭如何使用 C# 將原始 HTML 內容添加到文件中。

// 此代碼示例演示如何將原始 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");
}
在 CSharp 中添加原始 HTML 內容

使用 C# 在 HTML 文件中添加原始 HTML

獲得免費許可證

您可以獲得免費的臨時許可證 試用 Aspose.HTML for .NET,而沒有評估限制。

結論

在本文中,我們學習瞭如何:

  • 以編程方式創建 HTML 文檔;
  • 從本地磁盤路徑加載現有的 HTML 文檔;
  • 從加載的文件中讀取 HTML;
  • 向現有 HTML 文件添加新內容;
  • 修改 C# 中的現有內容。

除了在 C# 中創建、讀取和編輯 HTML 文件外,您還可以使用 文檔 了解有關 Aspose.HTML for .NET API 的更多信息。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看