我们一直在运行.NET 2.0,并且最近决定升级到.NET 4.0,这会产生一些不良影响。
我有一个ASPX页面,它运行XslCompiledTransform.Load()函数来生成HTML,但它现在抛出异常“未定义前缀'xmlns'。”自升级到4.0版。
我的样式表声明为:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:ms="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="#default xmlns msxsl user ms xsl">
有任何想法如何解决此问题?
答案 0 :(得分:2)
您需要从“exclude-result-prefixes”列表中删除“xmlns”,因为它实际上根本不是命名空间前缀。它是用于声明命名空间的保留字。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:ms="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="#default msxsl user ms xsl">
从外观上看,您可能还需要删除“用户”。