gpt4 book ai didi

java - XSLT 转换性能

转载 作者:行者123 更新时间:2023-11-29 08:17:14 24 4
gpt4 key购买 nike

Here is links to my files XML, XSLT, Include XSLT

你好

我正在将 xml 转换为 html。我的 xml 文件大约 10kb 大,我的 xslt 70kb 和输出 html 大约 10kb 大。

Transformer xformer = StylesheetCache.newTransformer(templateFile);
xformer.transform(new DOMSource(outlineDoc),new StreamResult(out));

转换器的创建大约需要 10 秒来创建,这就是为什么我创建了缓存,如果它被缓存,则将其降低到 300 毫秒。转换线需要 3 秒才能执行。现在这么长。我在 windows mobile 上写过类似的转换,它的执行时间大约是 <=1s

我将 TransformerFactory 更改为 Saxon,但结果大致相同。

谢谢

最佳答案

你的问题是使用 DOMSource,如果可能的话不要使用它。与使用流式源或 SAX 源相比,Saxon 的性能特别差——这是因为它构建了自己的高度优化(供 xslt 使用)的树(“小树”)。这个问题有一个变通方法以及完整的解释:http://dev.saxonica.com/blog/mike/2007/03/#000138 .

但即使您使用的是 Xalan(默认为 JDK),使用原始输入而不构建中间 DOM 结构也是有意义的; XSLT 处理器可以自行构建最佳的内存中表示,而且通常效率更高。

关于java - XSLT 转换性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com