如果您是一名 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 的更多信息。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。