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
并建立
|
Pjoern · 在XSLT中包装没有属性的节点组 6 年前 |
user2093335 · XSLT:基于现有属性值替换属性值 6 年前 |
Leth · 字符串串联functoid不将映射值返回到目标记录 6 年前 |
shawn · XSLT 3.0在应用模板中使用变量进行动态选择? 6 年前 |
user9238790 · 将XML转换为数据帧 6 年前 |
Vanessa · xsl:当两个节点相等时,显示第一个节点的子节点 6 年前 |
Adi · 并行读取大型XSLT字符串 6 年前 |
Brian Arthur · XSLT从另一个上下文获取信息 6 年前 |