如何在 C# 中编辑 Markdown

Aspose.HTML for .NET 库是一个独立的解决方案,允许您在不使用其他软件的情况下编辑 Markdown 文件。您可以通过插入新元素、删除或编辑现有节点的内容来修改 Markdown 文档。

Aspose.Html.Toolkit.Markdown.Syntax 命名空间包含用于操作基于 Markdown 语法树的类和方法在 GitHub Flavored Markdown (GFM) 规范上。

Aspose.Html.Toolkit.Markdown.Parser 命名空间包含提供完整 Markdown 解析的类和方法和渲染。

Aspose.Html.Toolkit.Markdown.Extensions 命名空间包含用于操作基于 Markdown 语法树的类和方法关于不属于 GFM 规范的规范。
您要执行的任何文档编辑都涉及加载 MD 文档、编辑并以支持的格式保存它。它可以是不同的场景,但可以通过几个必需的步骤来完成:


如何在 C# 中向 MD 文件添加元素

使用 C# 库,您可以以编程方式编辑 MD 文件 – 更改文档结构和内容。以下 C# 代码示例显示了如何向 MD 文档添加新段落:

编辑MD文件的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 MD document and get a syntax tree
    var syntaxTree = parser.ParseFile(input);

    // Get a SyntaxFactory to create new elements 
    var syntaxFactory = syntaxTree.SyntaxFactory;

    // Create a new paragraph 
    var paragraphSyntaxNode = syntaxFactory.Paragraph();

    // Create and add newLineTrivia element for an empty line after paragraph 
    var newLineTrivia = syntaxFactory.NewLineTrivia();
    paragraphSyntaxNode.GetTrailingTrivia().Add(newLineTrivia);
            
    // Create text content for the paragraph 
    var textSyntaxNode = syntaxFactory.Text("New paragraph text.");
    paragraphSyntaxNode.AppendChild(textSyntaxNode);

    // Add the paragraph before the first element of the syntax tree
    syntaxTree.InsertBefore(paragraphSyntaxNode, syntaxTree.FirstChild);

    // Prepare a path for MD file saving 
    string savePath = Path.Combine(OutputDir, "output-add-paragraph.md");

    // Save MD file
    syntaxTree.Save(savePath);



在 C# 中创建元素并将其添加到 MD 文档的步骤

考虑编辑现有 MD 文档的简单步骤。在文档中将添加一个新的文本段落:

  1. 指定源MD文件路径,使用 MarkdownParser() 构造函数来初始化 MarkdownParser 类的新实例。
  2. 调用 ParseFile() 方法解析Markdown,得到语法树。
  3. 使用 SyntaxFactory 属性获取语法工厂以创建新元素。
  4. 使用 Paragraph() 构造函数创建一个新段落。为新段落创建和添加文本内容。
  5. 使用 InsertBefore() 方法在语法的第一个元素之前添加段落树。
  6. Save() 方法保存编辑好的MD文件。

如何在 C# 中编辑 Markdown 标头

让我们看看如何编辑 MD 文件中的第一个元素 ( document.md )。文件中的第一个元素是标题,级别 3。您在链接后找到的编辑文件 – output-edit-header.md

编辑MD文件的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 MD document and get a 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("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, "output-edit-header.md");

    // Save MD file
    syntaxTree.Save(savePath);



文档

要了解有关 Aspose.HTML API 的更多信息,请访问我们的 文档 指南。您可以从 GitHub 存储库下载示例。它们是开源的,可以在您自己的应用程序中自由使用。

Markdown 语法 文档文章提供了有关 Markdown 主要元素的信息、Markdown 语法的详细信息和示例。

Markdown 是一种简单的标记语言,可让您格式化纯文本。 MD 文件使用由 John Gruber 提出并开发的 Markdown 语言。约翰·格鲁伯 (John Gruber) 设计 Markdown 的格式化语法的目的是使其尽可能具有可读性。 Markdown 通常用作文档和自述文件的格式,因为它允许以易于阅读和易于编写的风格编写。此外,MD 文件可以转换为 HTML、PDF、XPS 或图像,以利用其他格式来完成特定任务。


FAQ

1. 如何在 C# 中编辑 MD?

Aspose.HTML for .NET 库是一个独立的 MD 编辑解决方案,不依赖于其他软件。安装我们的 C# 库,将库引用添加到您的 C# 项目,并以编程方式编辑和管理 MD 文档。

2. 在哪里可以找到有关 MD 编辑的更多信息?

请访问我们的文档,了解有关使用 Aspose.HTML for .NET API 编辑 MD 的更多信息。 如果您对功能有疑问、发现问题或需要新功能,请在我们的免费支持论坛中开始讨论。

3. 我可以在 Linux、Mac OS、Android 或 iOS 上编辑 MD 文件吗?

您可以在任何操作系统上编辑 MD 文档,无论您使用的是 Windows、Mac OS、Linux、Android 还是 iOS。

4. 我可以使用 Aspose.HTML C# 库编辑哪些文件格式?

我们支持一些可以在 C# 中编辑的文件格式,包括 HTML、MHTML 和 Markdown。



Aspose.HTML for .NET API 入门

您可以通过多种方式在系统上安装 Aspose.HTML for .NET 库:

  1. 使用 NuGet 包管理器 GUI 安装 NuGet 包
  2. 使用包管理器控制台安装 NuGet 包。
  3. 通过 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 文档