C#测试调用Markdig解析Markdown的基本用法

  Markdig是.NET平台的高性能开源Markdown处理器,严格遵循 CommonMark 标准,确保解析一致性,其核心优势在于扩展性强:通过模块化管道模型,可轻松添加自定义语法或修改现有逻辑。Markdig内置支持表格、任务列表、数学公式、目录生成等丰富扩展,兼顾开发灵活性,同时具备顶级解析速度,高效处理大型文档,且核心库零依赖,轻量易集成。本文学习Markdig解析Markdown字符串的基本用法。
  VS2022新建Winform项目,在Nuget包管理器中搜索并安装Markdig包。
在这里插入图片描述
  主要使用Markdown类解析、转换或者保存Markdown字符串,如下图所示,其中Normalize函数将Markdown文本转换为标准化/规范化的格式,ToHtml函数将Markdown文本转换为Html格式,Parse函数将Markdown文本解析为包含语法树的MarkdownDocument对象,ToPlainText函数将Markdown文本转换为纯文本格式。在这里插入图片描述
  测试代码就一行,直接调用Markdown.ToHtml函数将Markdown文本(示例来自参考文献4)转换为Html字符串,如下图所示。

txtResult.Text = Markdown.ToHtml(txtOriginText.Text);

在这里插入图片描述
  调用Markdown.Parse函数解析上述Markdown文本示例,使用VS2022的实时监视功能查看MarkdownDocument对象的结构。原始文本有10行,从其中解析出7个Block对象实例集合,类型包括HeadingBlock、ParagraphBlock、QuoteBlock等,从类名可以看出对应标题、段落、引用类型的数据,下图最右侧的HeadingBlock对象截图中Level属性表示标题级别。Markdig包中不同的Markdown数据类型对应不同的Block子类,主要的Block子类都在Markdig.Syntax命名空间下。
在这里插入图片描述
在这里插入图片描述
  后续还要继续看Markdig的帮助文档,学习主要数据类型的用法。

参考文献:
[1]https://github.com/xoofx/markdig
[2]https://babelmark.github.io/
[3]https://commonmark.org/
[4]https://osdoc.net/md/31

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/85913.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/85913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 主从同步完整配置示例

以下是 MySQL 主从同步完整配置示例(基于 Linux 系统),包含主库和从库的配置步骤: 一、主库(Master)配置 1. 安装 MySQL(以 CentOS 为例) yum install -y mysql-server systemctl …

可信启动与fTPM的交互验证(概念验证)

安全之安全(security)博客目录导读 目录 一、组件构成 二、Arm FVP平台PoC构建 三、在Armv8-A Foundation FVP上运行PoC 四、微调fTPM TA 可信启动(Measured Boot)是通过密码学方式度量启动阶段代码及关键数据(例如使用TPM芯片&#xff…

SQL Server基础语句4:数据定义

文章目录 一、数据库与架构1.1 创建与删除数据库1.1.1 使用CREATE DATABASE语句创建数据库1.1.2 使用DROP DATABASE语句删除数据库1.1.3 使用SSMS创建数据库1.1.4 使用SSMS删除数据库 1.2 CREATE SCHEMA:创建新架构1.2.1 Schema简介1.2.2 使用CREATE SCHEMA语句创建…

上门按摩app会员系统框架搭建

一、逻辑分析 用户注册与登录: 新用户需要提供基本信息,如姓名、手机号、邮箱等进行注册。手机号用于接收验证码进行身份验证,邮箱可用于密码找回等功能。注册成功后,用户可以使用手机号 / 邮箱和密码进行登录。登录时需要验证用户…

java项目打包成jar包,并给jmeter使用

1.新建项目 编写代码,导入必要的jar包, 右键点击项目,然后export,选择main函数, package utils; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.Random; …

【Qt开发】Qt音频

Qt中,视频播放的功能主要是通过 QMediaPlayer类和 QVideoWidget类来实现。在使用这两个类时,需要在 .pro项目配置文件中添加对应的模块——multimedia 和 multimediawidgets。 核心的API如下: 下面来模拟实现音频文件的播放。 Widget::Widget…

椭球面上梯形面积的通用公式和图幅公式

import numpy as np def ellipsoidal_trapezoid_area(a, b, phi1_deg, phi2_deg, delta_L_deg, is_map_sheetFalse): """ 计算椭球面上梯形面积的通用公式和图幅公式 参数: a: 椭球长半轴(米) b: 椭球…

Pytest 入门:测试函数与测试类详解

概述 在编写自动化测试时,了解如何组织和管理测试用例是至关重要的。Pytest 提供了灵活的方式来定义测试函数和测试类,并支持多层次的设置(setup)和清理(teardown)机制,帮助你更高效地进行代码验证。本文将详细介绍 测试函数 和 测试类 的概念、定义、注意点以及实际操…

大模型的部署简单搭建

大模型的部署搭建 真的好久没有进行博客的写作了,原因,最近的自己生活有点小波动, 最近想想还是有空写一篇文章,这篇文章的描述是学习的当下热门AI 本期,介绍的也是AI相关的LLM(大语言模型) 这个好多人应该都是模糊的,包括我一开始没有学习,就感觉牛逼的不行,今天我们亲自部署实…

基于ssm英语学习交流平台微信小程序源码数据库文档

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了英语学习交流平台小程序的开发全过程。通过分析英语学习交流平台小程序管理的不足,创建了一个计算机管理英语学习交流平台小程序的方案。文章介绍了英…

华为云Flexus+DeepSeek征文|在Dify-LLM平台中开发童话故事精灵工作流AI Agent

华为云FlexusDeepSeek征文|在Dify-LLM平台中开发童话故事精灵工作流AI Agent 🌟嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 目录…

从实践出发谈如何开发一款好用的RTMP播放器

近几年,RTMP 播放器市场涌现出大量“宣传型”产品。各种“低延迟”“不卡顿”“跨平台”几乎成为标配口号,宣传文案看起来精彩纷呈,实际项目落地时却屡屡暴露问题:启动缓慢、黑屏、音画不同步,甚至连基本的稳定播放都无…

STM32F1\F4\H7 CubeMx 定时器配置

目录 1 定时器使用 1.1 CubeMX 配置 1.1.1 创建工程 1.1.2 时钟配置 1.1.3 定时器配置 1.1.4 GPIO 配置 1.1.5 工程管理 1.2 keil5 配置 1.2.1 添加代码 1.2.2 修改配置 1.2.3 下载程序 2 PWM使用 2.1 CubeMX 配置 2.1.1 PWM 配置 2.1.2 周期\频率计算方法 2.2…

2025中科院2区SCI-状态优化算法Status-based Optimization-附Matlab免费代码

近年来,现实世界的优化问题变得越来越复杂,挑战了传统确定性方法的有效性。本文介绍了基于状态的优化(SBO),这是一种受人类对地位提升的渴望启发的高效算法。通过模拟个人如何接近、学习或从高地位人物那里获得资源&am…

MySQL 启动报错 “The server quit without updating PID file“ 的全面解决方案(适用于 5.7/8.0 全版本)

摘要 在 MySQL 数据库运维中,"The server quit without updating PID file" 是常见且棘手的启动错误。本文结合 MySQL 官方文档及实战经验,系统梳理该错误的 10 大核心成因与解决方案,覆盖权限、配置、磁盘、SELinux 等多维度&…

运行时安全引擎RSE

安全之安全(security)博客目录导读 目录 一、RSE 通信层 1.1 消息结构 1.2 源代码文件 1.3 MHU 通信的 API 二、RSE 提供的运行时服务 2.1 运行时服务 API 2.2 软件与 API 层次结构 三、基于 RSE 的 Measured Boot(度量启动) 3.1 Measured Boo…

Elasticsearch、Faiss、Milvus在向量索引实现上的核心差

Faiss、Elasticsearch(ES)和Milvus在向量索引实现上的核心差异主要体现在架构定位、索引技术、扩展性及适用场景上,具体对比如下: 一、架构设计与定位‌ ‌维度‌‌Faiss‌‌Elasticsearch‌‌Milvus‌‌核心定位‌单机向量索引…

iot-dc3 项目windows本地运行保姆喂奶级教程

一.源码拉取 当前时间:2025年06月18日12点02分 后台接口服务:https://gitee.com/pnoker/iot-dc3.git 前端:https://gitee.com/pnoker/iot-dc3-web.git 请自行拉取至本地。 二.本地环境准备 其他基础环境先不讲了,如有需要请留言。 idea + VS Code。 IntelliJ IDEA 2024.2.…

内部网关协议配置实验

一:静态路由 简述:在华为路由器中,使用ip route-static命令配置静态路由。一条静态路由主要包含以下要素。 目的地址:数据包要到达的目标IP地址 子网掩码:用于指定目的地址的网络部分和主机部分 下一跳地址&#xff08…

大模型应用:如何使用Langchain+Qwen部署一套Rag检索系统

一、TL;DR 从0-1使用qwen chat model langchain的链式架构搭建一套rag系统详细介绍了Langchain的工具链的调用流程简单介绍了可能会出现什么问题 二、方法 参考开源链接:https://github.com/Aphasia0515/self_llm/ 2.1 硬件和软件依赖 类型需求备注…