XPath+XSLT

看到了LostInet的Extension Object帖子,正好最近在写跟XPath有关的东西,从XML MVP Daniel Cazzulino处学到了不少东西,顺便看到MSDN上一些非常有用的信息,了解到可以通过XsltContext / IXsltContextFunction / IXsltContextVariable来实现设置自己的函数与参数。KB里有篇综述性文章:

INFO: Roadmap for Executing XSLT Transformations in .NET Applications

还有一篇提到XSLT转换性能的文章:

INFO: Performance of XSLT Transformations in the .NET Framework

里面提到了一些问题

1.用XmlDataDocument做转换慢,应该用XPathDocument
2.用到preceding-sibling时,通过XmlDocument转换大文件时会causes 100 percent CPU utilization
3.用xsl:key时转换会很慢
4.用Inline Script Blocks时,生成的Managed Assemblies不能正确地释放