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或任何其他库完成此任务?
答案 0 :(得分:0)
这可能是您要加载的样式表特有的错误。尝试使用最小样式表来查看是否是这种情况。如果您认为它是XmlPrime中的错误,请与开发人员联系并提供可以重现问题的Visual Studio解决方案。