C# Compile抛出空异常
我编写了上述代码函数,将XLST2.0样式表应用于xml并返回xml。 我试图修改XMLPrime示例,但出于某种原因,该行:C# Compile抛出空异常,c#,.net,xml,xslt,C#,.net,Xml,Xslt,我编写了上述代码函数,将XLST2.0样式表应用于xml并返回xml。 我试图修改XMLPrime示例,但出于某种原因,该行: public static SqlXml XMLPrimeTransform(SqlXml inputDataXML, SqlXml inputTrasnformXML) { MemoryStream ms = new MemoryStream(); XmlReader inxml = inputDataXML.CreateReader(); X
public static SqlXml XMLPrimeTransform(SqlXml inputDataXML, SqlXml inputTrasnformXML)
{
MemoryStream ms = new MemoryStream();
XmlReader inxml = inputDataXML.CreateReader();
XmlReader intrans = inputTrasnformXML.CreateReader();
XmlReaderSettings xmlreadersettings = new XmlReaderSettings { NameTable = intrans.NameTable };
XdmDocument document= new XdmDocument(inxml);
XmlPrime.XsltSettings xsltSettings = new XmlPrime.XsltSettings(intrans.NameTable) { ContextItemType = XdmType.Node };
var xslt = Xslt.Compile(intrans, xsltSettings);
//var xslt = Xslt.Compile(inputTrasnformXML.CreateReader());
var contextItem = document.CreateNavigator();
var settings = new DynamicContextSettings { ContextItem = contextItem };
xslt.ApplyTemplates(settings, ms);
return new SqlXml(ms);
}
正在引发NullReferenceException。内部网和XSLT设置都不为空。有人有幸用XMLPrime或其他库来实现这一点吗 这可能是特定于正在加载的样式表的错误。尝试使用最小样式表,看看是否如此。如果您认为这是XmlPrime中的一个bug,联系开发人员并提供重现问题的Visual Studio解决方案。您在哪里声明和初始化您试图调用其
Compile
方法的Xslt
对象?在转换之后和构造的SqlXml值之前,可能还需要设置ms.Position=0
Compile是XSLT的一种静态方法。相同的样式表和XML在SAXON中工作得很好。我会试着与开发商签约
var xslt = Xslt.Compile(intrans, xsltSettings);