我有一个XML文件,我有一个随附的XSL转换程序文件,可以使用NAXML标准格式将XML文件转换为xml文件。但是出于某种原因,当我在XslCompiledTransform中调用Load函数时,我得到一个异常
using System.Xml.Xsl;
有问题的代码块:
XslCompiledTransform xlstProcessor = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
System.Xml.XmlReader reader = System.Xml.XmlReader.Create("C:\\tlog2naxml.xslt");
System.Xml.XmlResolver resolver = new System.Xml.XmlUrlResolver();
xlstProcessor.Load(reader, settings, resolver); //Exception occurs here.
xlstProcessor.Transform(@"C:\vperiodrept.xml", @"C:\test.xml");
我尝试了这些参数的不同变体,但我不断得到这个例外。当我查看XslCompiledTransform类的定义时,我没有看到任何重复的方法签名。这是一个标准的.net类,所以我不希望找到任何。如果有人有任何想法可能导致这种情况,我将非常感谢帮助。
答案 0 :(得分:3)
问题在于您正在加载的XSLT中的脚本,而不是XslCompiledTransform
类;当编译器在转换中编译脚本时,抛出此异常,并且它在脚本中遇到具有相同签名的两个方法。我要看的第一件事是包括 - 我不确定,但我敢打赌编译器可能不够智能,无法识别你何时包含两次相同的文件。