XMLPrime XLST.Compile抛出空异常

时间:2014-07-03 18:16:13

标签: c# .net xml xslt

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);
}

我编写了上面的代码函数,将xlst 2.0样式表应用于xml并返回XML。 我试图修改XMLPrime示例,但由于某种原因,行:

 var xslt = Xslt.Compile(intrans, xsltSettings);

抛出NullReferenceException。 intrans和xsltSettings都不为null。任何人都有运气尝试使用XMLPrime或任何其他库完成此任务?

1 个答案:

答案 0 :(得分:0)

这可能是您要加载的样式表特有的错误。尝试使用最小样式表来查看是否是这种情况。如果您认为它是XmlPrime中的错误,请与开发人员联系并提供可以重现问题的Visual Studio解决方案。