您的位置:首页 > 编程语言 > Java开发

xslt调用自定义函数(C#/Js/Java)

2012-01-17 17:52 561 查看
本文主要演示xslt调用自定义的函数,此处用C#作为编写自定义函数的语言,用C#去完成xslt对xml的筛选功能。

View Code

private static DataTable OutputDataTable()
{
string xmlPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "target.xml");
string xsltPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CSRCNAV.xslt");
string schemaPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CSRCNAV.xsd");

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);

//设置可以执行脚本函数
XsltSettings settings = new XsltSettings();
settings.EnableDocumentFunction = true;
settings.EnableScript = true;

//设置xslt可以包含外部的xslt文件
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

MemoryStream memoryStream = new MemoryStream();
XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
xslCompiledTransform.Load(xsltPath, settings, resolver);
xslCompiledTransform.Transform(xmlDoc, null, memoryStream);

using (DataTable dt = new DataTable())
{
dt.ReadXmlSchema(schemaPath);
memoryStream.Position = 0;
dt.ReadXml(memoryStream);

return dt;
}
}

源代码下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐