1

我们一直在运行 .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">

任何想法如何解决这个问题?

4

1 回答 1

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">

从外观上看,您可能还需要删除“用户”。

于 2013-07-24T07:30:04.487 回答