C# XSLT将HTML转换为标记不起作用
我使用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
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