如何在 C# 中创建 Markdown 标头
Aspose.HTML for .NET
库是一个独立的解决方案,允许您在不使用其他软件的情况下解析和操作 Markdown 文件。您可以从头开始创建 Markdown 文档,从本地文件打开并通过插入新元素、删除或编辑现有节点的内容来进行操作。
使用
Aspose.Html.Toolkit.Markdown.Syntax
和
Aspose.Html.Toolkit.Markdown.Parser
命名空间以提供基于 GitHub Flavored Markdown (GFM) 规范的完整 Markdown 解析和 MD 语法树管理.
如何在 C# 中添加 Markdown 标头
使用 C# 库,您可以以编程方式编辑 MD 文件 – 更改文档结构和内容。在 C# 中创建 Markdown 标头元素有一个特性。特点是表头需要由几个节点拼装而成,比如文本节点、文本节点之间的空格、表头后面的空行。让我们看看从头开始创建一个新的 Markdown 文档并向其添加标题。
编辑MD文件的C#代码
// Create the MarkdownSyntaxTree
var markdown = new MarkdownSyntaxTree(new Configuration());
// Get a SyntaxFactory to create new elements
var mdf = markdown.SyntaxFactory;
// Create headings of the required level
var heading1 = mdf.AtxHeading("Heading 1 level text", 1);
var heading2 = mdf.AtxHeading("Heading 2 level text", 2);
var heading3 = mdf.AtxHeading("Heading 3 level text", 3);
// Create and add newLineTrivia element for an empty line after headings
var newLineTrivia = mdf.NewLineTrivia();
heading1.GetTrailingTrivia().Add(newLineTrivia);
heading2.GetTrailingTrivia().Add(newLineTrivia);
heading3.GetTrailingTrivia().Add(newLineTrivia);
// Add the headers to the Markdown syntax tree
markdown.AppendChild(heading1);
markdown.AppendChild(heading2);
markdown.AppendChild(heading3);
// Prepare a path for MD file saving
string savePath = Path.Combine(OutputDir, "output-headers.md");
// Save MD file
markdown.Save(savePath);
在 C# 中创建 Markdown 标头的步骤
让我们考虑创建 Markdown 标头的简单步骤:
- 使用 AtxHeading(string, int) 的构造函数创建一个新标头 MarkdownSyntaxFactory 类。它创建具有文本内容和标题级别的 AtxHeadingSyntaxNode。
- 为标题后的空行创建一个 newLineTrivia 元素。使用 NewLineTrivia() 构造函数。
- 调用 SyntaxNodeCollection 类的 Add() 方法将 newLineTrivia 节点添加到标题元素中。
- 将所有头节点汇集到一个元素后,将其添加到文档语法树中。
在 C# 中将 Markdown 标头编辑到现有的 MD 文件中
以下 C# 代码示例显示了如何在现有 MD 文档中编辑 Markdown 标头:
用于添加 Markdown 标头的 C# 代码
// Specify the path to the source MD file
var input = "C:/temp/document.md";
// Create a MarkdownParser object
var parser = new MarkdownParser();
// Parse the document and get a Markdown syntax tree
var syntaxTree = parser.ParseFile(input);
// The first element of this document is AtxHeading
var heading = (AtxHeadingSyntaxNode)syntaxTree.FirstChild;
// Accumulate the text content from its elements
var sb = new StringBuilder();
while (heading.FirstChild != null)
{
sb.Append(heading.FirstChild);
// Remove accumulated first element from the tree
heading.RemoveChild(heading.FirstChild);
}
// Get a SyntaxFactory to create new elements
var syntaxFactory = syntaxTree.SyntaxFactory;
// Сreate a text node consisting of new and old text and add it as a child element of AtxHeading
var textSyntaxNode = syntaxFactory.Text("Added some new text! " + sb);
// Add the new element to the document tree
heading.AppendChild(textSyntaxNode);
// Prepare a path for MD file saving
string savePath = Path.Combine(OutputDir, "edit-header.md");
// Save MD file
syntaxTree.Save(savePath);
文档
要了解有关 Aspose.HTML API 的更多信息,请访问我们的
文档
指南。 Markdown 是一种简单的标记语言,可让您格式化纯文本。
Markdown 语法
文档文章提供了有关 Markdown 主要元素的信息、Markdown 语法的详细信息和示例。
FAQ
用于 Aspose.HTML for .NET 库是一个独立的解决方案,用于处理不依赖于其他软件的 Markdown 文档。安装我们的 C# 库,将库引用添加到您的 C# 项目,并以编程方式处理 Markdown 文档
由于其多功能性,Markdown 在作家、开发人员和内容创作者中非常受欢迎。 其优点包括易于学习和使用的语法、可移植性、灵活性、可读性和可用性。 Markdown 简单直观,可以转换为 HTML、PDF 或其他格式。
您可以在任何操作系统上使用 Markdown 文档,无论您使用的是 Windows、Mac OS、Linux、Android 还是 iOS。
我们支持多种文件格式,您可以在 C# 中创建、打开、解析、编辑、保存或转换它们。这些是 HTML、XHTML、MHTML 和 Markdown 格式。
Aspose.HTML for .NET API 入门
您可以通过多种方式在系统上安装 Aspose.HTML for .NET 库:
- 使用 NuGet 包管理器 GUI 安装 NuGet 包。
- 使用包管理器控制台安装 NuGet 包。
- 通过 MSI 安装 Aspose.HTML for .NET。
该库支持解析 HTML5、CSS3、SVG 和 HTML Canvas,以构建基于 WHATWG DOM 标准的文档对象模型 (DOM)。 Aspose.HTML for .NET 完全用 C# 编写,可用于构建任何类型的 32 位或 64 位 .NET 应用程序,包括 ASP.NET、WCF、WinForms 和 .NET Core。在运行 .NET 转换示例代码之前,请确保您拥有 Microsoft Windows 等操作系统或与 .NET Framework 或 .NET Standard 兼容的操作系统,以及 Microsoft Visual Studio 等开发环境。有关 C# 库安装和系统要求的更多详细信息,请参阅
Aspose.HTML 文档
。
系统要求
所有主要平台和操作系统都支持我们的 API。在执行代码之前,请确保您的系统具备以下先决条件。
- Microsoft Windows 或具有 .NET Framework、.NET Core、Windows Azure、Mono 或 Xamarin 平台的兼容操作系统。
- Microsoft Visual Studio 等开发环境。
- Aspose.Html for .NET DLL 在您的项目中引用 – 使用上面的下载按钮从 NuGet 安装。