XSLT 将 HTML 转换为 Markdown 不起作用

本文关键字:Markdown 不起作用 转换 HTML XSLT | 更新日期: 2023-09-27 18:35:22

我正在使用此处找到的XSLT将HTML格式的内容转换为Markdown格式,但我得到的结果是纯文本,没有Markdown格式语法。这是我正在使用的功能:

private static string ConvertToText()
{
    string text = string.Empty;
    XmlDocument xsl = new XmlDocument();
    xsl.CreateEntityReference("nbsp");
    xsl.Load(System.Web.HttpContext.Current.Server.MapPath("/Test/markdown.xslt"));
    XmlReader xr = XmlReader.Create(System.Web.HttpContext.Current.Server.MapPath("/Test/html.xml"));
    //creating stringwriter
    StringWriter writer = new System.IO.StringWriter();
    XslCompiledTransform xslt = new XslCompiledTransform();
    xslt.Load(xsl);
    xslt.Transform(xr, null, writer);
    //return string
    text = writer.ToString();
    writer.Close();
    return text;
}

谁能告诉我为什么它不起作用?

谢谢。

XSLT 将 HTML 转换为 Markdown 不起作用

我想你的问题是输入XML中的xmlns。在转换 xr 变量之前,请尝试将其删除,或者使用命名空间声明调整 XSL 文件,如下所示:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:html="http://www.w3.org/1999/xhtml">
...
<xsl:template match="html:h3">
...