![]() |
1
1
我认为您可以简化XSLT代码
使用模板
到
模板被简化为
我认为这无疑是一种更简洁和XSLT的方法,它是否提高了性能是您必须测试的。 一般来说,对于XSLT,为了提高交叉引用/查找的性能,建议使用一个键,以便使用
然后把它当作
我认为这将大大加快在单个转换中的查找速度,因为您将XmlReader和XSLT结合起来,在XmlReader发现的许多元素上多次运行XSLT我无法判断它是否有很大帮助,您需要尝试一下。
正如在XSLT 3建议中指出的,我还将考虑首先转换查找文件,并转换一次,以避免重复所有这些
|
![]() |
2
0
当读取巨大的xml文件时,总是使用XmlReader。我喜欢使用XmlReader和Xml linq的组合。我也喜欢用字典。请参见下面的代码:
|
![]() |
3
0
作为替代方案,您可能希望研究如何使用XSLT 3及其流式处理功能解决该任务(
https://www.w3.org/TR/xslt-30/#streaming-concepts
)在那里,您可以只向前但声明性地处理巨大的输入文件,其中您只在
在线示例(在Saxon 9.8he中运行,它忽略了流并执行普通的XSLT处理)位于 https://xsltfiddle.liberty-development.net/bFDb2Ct/1 .
使用Saxon 9.8和C运行流式XSLT 3
http://saxonica.com/html/documentation/dotnetdoc/Saxon/Api/Xslt30Transformer.html
并建立
|
|
J_Cus504 · 在单匹配语句中使用身份变换和多谓词来沉默节点 4 月前 |
![]() |
surge3333 · 使用PowerShell构建XML 5 月前 |
|
Sandeep · XSLT代码,用于根据条件提取元素值 6 月前 |
|
Reto · XSLT 3.0突发流-如何存储/获取另一个分支的值 6 月前 |
![]() |
Ian Kemp · 如何从SelectXml调用本机XPath函数? 7 月前 |