我正在使用如下所示的XSLTCompiledTransform
对象将XML报告转换为html报告。我使用XsltArgumentList
将值从C#代码传递给XSLT,但我还需要"返回"从XSLT表到C#代码的值。
XsltArgumentList argsList = new XsltArgumentList();
argsList.AddParam("min_threshold", "", min_threshold);
argsList.AddParam("max_threshold", "", max_threshold);
argsList.AddParam("user", "", user);
XslCompiledTransform writeHtml = new XslCompiledTransform(false);
writeHtml.Load(userStyles);
using (StreamWriter sw = new StreamWriter(pathHtml))
{
writeHtml.Transform(pathXml, argsList, sw);
}
我无法找到任何记录如何完成此操作的方法。我可以使用LINQ直接从编写XML的DataTable
获取我需要的值,但我更愿意从XSL中提取它们。这将是更少的代码,我将避免在两个不同的地方计算相同的值。