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 に答える