我有一个 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 类,所以我不希望找到任何类。如果有人有任何想法可能导致此问题,我将非常感谢您的帮助。
最佳答案
问题在于您正在加载的 XSLT 中的脚本,而不是 XslCompiledTransform
类;当编译器在转换中编译脚本并且在脚本中遇到两个具有相同签名的方法时,会引发此异常。我首先要查看的是包含 - 我不确定,但我敢打赌编译器可能不够聪明,无法识别您何时包含同一个文件两次。
关于c# - XslLoadException - 此方法与此类中的另一个方法具有相同的名称和参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6099556/