1

我正在使用此处找到的 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;
}

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

谢谢。

4

1 回答 1

0

我猜你的问题是你输入 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">
...
于 2012-08-13T20:20:00.180 回答