Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XSLT将HTML转换为标记不起作用_C#_Asp.net_Xslt_Markdown - Fatal编程技术网

C# XSLT将HTML转换为标记不起作用

C# XSLT将HTML转换为标记不起作用,c#,asp.net,xslt,markdown,C#,Asp.net,Xslt,Markdown,我使用XSLT将HTML中的内容转换为标记格式,但得到的结果是没有标记格式语法的纯文本。下面是我正在使用的函数: private static string ConvertToText() { string text = string.Empty; XmlDocument xsl = new XmlDocument(); xsl.CreateEntityReference("nbsp"); xsl.Load(System.Web.HttpContext.Curr

我使用XSLT将HTML中的内容转换为标记格式,但得到的结果是没有标记格式语法的纯文本。下面是我正在使用的函数:

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;
}
有人能告诉我为什么它不起作用吗


谢谢。

我想您的问题是输入XML中的XML。在转换XSL文件之前,请尝试在
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">
...

...
...

您能否创建一个输入XML的小样本,提供生成的输出,并将其与您预期的结果进行对比?我们还需要查看XSLT