如果您是一名 C# 程序員,正在尋找一種有效的方式來處理 HTML 文件,那麼本文適合您。我們將解釋 C# 如何處理 HTML 文件的基礎知識,從從頭開始創建它們到閱讀和編輯現有文檔。在本文中,我們將學習如何在 C# 中創建、讀取和編輯 HTML 文件。
HTML(超文本標記語言)是一種用於創建網站和網頁的語言。另一方面,C# 是一種用於構建應用程序的面向對象的編程語言。 HTML 文件包含用於格式化網頁結構以便在瀏覽器中顯示的標記。我們可以在 .NET 應用程序中輕鬆地以編程方式操作 HTML 文件。在本文中,我們將探討如何使用 C# 讀取、編寫和編輯 HTML 文件。我們將探討為特定元素解析 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 文件:
- 首先,創建 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."));
// 將 li 項添加到列表中
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 內容添加到文件中。
// 此代碼示例演示如何將原始 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 的更多信息。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。