我正在使用 xslt 3.0 saxon-HE 9.8 库将 xml 转换为 html。在 c# 代码中使用它。
我在输入中传递 xml 和 xslt 文件路径以使其转换并获得输出。
任何人都可以让我知道如何将 xml 作为字符串传递,并将 xslt 作为字符串传递给 c# 代码中的输入以进行处理。
下面是我的代码。
public static string Transform_XML(string param, string inputfile, string xsltfilename)
{
var xslt = new FileInfo(xsltfilename);
var input = new FileInfo(inputfile);
// Compile stylesheet
var processor = new Processor();
var compiler = processor.NewXsltCompiler();
var executable = compiler.Compile(new Uri(xslt.FullName));
XPathDocument doc = new XPathDocument(new StringReader(param));
DocumentBuilder db = processor.NewDocumentBuilder();
XdmNode xml;
using (XmlReader xr = XmlReader.Create(new StringReader(param)))
{
xml = db.Build(xr);
}
// Do transformation to a destination
var destination = new DomDestination();
using (var inputStream = input.OpenRead())
{
var transformer = executable.Load();
transformer.SetParameter(new QName("", "", "user_entry"), xml);
transformer.SetInputStream(inputStream, new Uri(input.DirectoryName));
transformer.Run(destination);
}
return destination.XmlDocument.InnerXml.ToString();
}
想要将 xml 和 xslt 作为字符串而不是文件路径传递。
波斯汪
相关分类