2015-07-04 33 views
0

我运行了代码分析并找到了下面的警告。XslTransform类的替代方案

“System.Xml.Xsl.XslTransform '已过时:' 这班已经 弃用请使用System.Xml.Xsl.XslCompiledTransform了吧。”

var t = new XslTransform(); 
t.Load(xslSetting); 
xml1.Transform = t; // xml1 is asp:xml control which is working fine 

但是当我使用下面的代码,我不能指定XML值。

var tt = new XslCompiledTransform(); 
tt.Load(xslSetting); 
xml1.Transform = tt; // shows error 
+0

喜信息被启用,可以请你接受我的回答如下关闭这个问题,谢谢。 – BhavO

回答

0

默认情况下,XslCompiledTransform类禁用对XSLT document()函数和嵌入式脚本的支持。这些功能可以通过创建具有启用的功能的XsltSettings对象,并将其传递给Load方法

XsltSettings settings = new XsltSettings(false,true); 

// Execute the transform. 
XslCompiledTransform xslt = new XslCompiledTransform(); 
xslt.Load("xsldoc.xsl", settings, new XmlUrlResolver()); 
xslt.Transform("xmldoc.xml", "output.html"); 

有用这里https://msdn.microsoft.com/en-us/library/66f54faw(v=vs.110).aspx

+0

谢谢,我现在会检查它。 –

+0

它是如何去Rakesh? – BhavO